我正在尝试在Python中使用C#.dll中的代码。
该类的构造函数受到保护,因此获取实例的唯一方法是调用静态方法Instance(请参见下面的源代码示例)。
在python中,我正在使用clr库加载.dll,并且我尝试像这样调用实例:
import clr
clr.AddReference("Common.Namespace")
from CommonNamespace import Common
instance = Common.Instance
但出现以下错误:
TypeError:调用的目标引发了异常。
我试图解决这个问题已经有一段时间了-也采用了不同的方法-但没有任何运气...
.dll中的源代码示例:
namespace CommonNamespace
{
public class Common
{
private static Common instance;
public static Common Instance
{
get
{
if (Common.instance == null)
Common.instance = new Common();
return Common.instance;
}
}
protected Common()
{
}
}
}
有人可以帮我吗?
谢谢!
注意:我想调用非静态类的静态方法,而构造函数受到保护