【发布时间】:2011-04-14 17:56:50
【问题描述】:
我正在开发一个 C# .NET 2.0 应用程序,其中在运行时根据环境加载两个 DLL 之一。两个 DLL 都包含相同的函数,但它们没有链接到相同的地址偏移量。我的问题是关于我的应用程序代码中的函数委托。
public class MyClass
{
public delegate int MyFunctionDelegate(int _some, string _args);
public MyFunctionDelegate MyFuncToCallFrmApp;
public MyClass() : base()
{
this.MyFuncToCallFrmApp = new MyFunctionDelegate(this.MyFuncToCallFrmApp); // <-- Exception thrown here.
}
public SomeFunction()
{
MyFuncToCallFrmApp(int _someOther, string _argsLocal);
}
}
当我的代码执行时,我得到一个 ArgumentException 的“委托给实例方法不能有 null 'this'”。我做错了什么?
【问题讨论】:
-
您希望构造函数主体中的行实际实现什么?
-
@JohnB:我想知道 OP 想要完成什么。没有迹象表明他希望这条线做什么。如果他能解释这一点,我们可以试着弄清楚该怎么做。
-
@Jon:好的,我同意你的看法。例如,也许他只是难以理解代表。我也很难理解它们。