Я пытаюсь использовать код из C # .dll в Python.
Класс защищен конструктором, поэтому единственный способ получить экземпляр - вызвать статический метод 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()
{
}
}
}
Может ли кто-нибудь мне помочь?
Спасибо!
Примечание: я хочудля вызова статического метода нестатического класса , в то время как конструктор защищен