gpt4 book ai didi

c# - 在客户端项目中实现库方法

转载 作者:太空宇宙 更新时间:2023-11-03 16:29:20 26 4
gpt4 key购买 nike

我们有一个库,其中包含几个具有不同功能的程序集。我们在为客户开发的任何前端项目中都使用这个库。假设我想在库中执行特定任务/方法,但该方法的实现必须在前端。

简而言之:库中的类X调用库中类Y的方法A,但方法A需要在库外实现。如何?

最佳答案

您可以从您的库中公开一个委托(delegate),让消费者将其设置为指向他们自己的实现。

例子:

public delegate void DoWorkDelegate(CustomWorkParameters p);

public DoWorkDelegate DoWorkCallback
{
get
{
return _workCallback;
}
set
{
_workCallback = value;
}
}

稍后在您的库中,当您需要实际完成工作时:

private void DoWorkInternal() 
{
//Some work here

//Check if caller set the callback
if(_workCallback != null)
{
_workCallback(localWorkParameters);
}
else
{
//throw exception
}
//Some more work here
}

消费者应该有一个尊重委托(delegate)签名的方法,并在初始化阶段将其传递给您的库。

关于c# - 在客户端项目中实现库方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11330688/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com