C# sınıfına IronPython komut dosyasından nasıl erişirim? C#:IronPython komut dosyasından erişim ana sınıfı sınıfı
public class MyClass
{
}
public enum MyEnum
{
One, Two
}
var engine = Python.CreateEngine(options);
var scope = engine.CreateScope();
scope.SetVariable("t", new MyClass());
var src = engine.CreateScriptSourceFromFile(...);
src.Execute(scope);
IronPython komut:
class_name = type(t).__name__ # MyClass
class_module = type(t).__module__ # __builtin__
# So this supposed to work ...
mc = MyClass() # ???
me = MyEnum.One # ???
# ... but it doesn't
GÜNCELLEME Ben barındırma derlemede tanımlanmış sınıfları ithalat gerekir
.
Harici bir gruptan bir sınıf alabilirim. Ama barındırma meclisinden bir sınıf kullanmam gerekiyor. Python komut dosyasını başlatan. İthalatla oynamayı denedim, ancak bunu yapmanın bir yolunu bulamadım. – Max
@Max: Barındırma meclisi hiçbir şekilde özel değildir - diğer meclislerden olduğu gibi ondan da içe aktarmanız gerekir. DLL dosyasının sonuna kadar tam ve mutlak yolunu 'AddReference()' çağrısına koyabilirsiniz - eğer çalışırsa, o zaman sadece bir yol/güncel dizin sorunu olduğunu biliyorsunuz (ki bu can sıkıcı olabilir, ama en azından bunu anlayacaksınız) kod çalışıyor veya çalışmıyor) – Cameron
Komut dosyası barındırıldığından beri, barındırma derlemesini almam gerekmediğinden emindim. Ve şimdi denedim ki çalışıyorum. Sınıf örneğini ve sorgulanan sınıf adını ve modülünü geçtiğimde, sınıfın zaten bir genel ad alanının parçası gibi göründüğünden gariptir. – Max