'daki örneğe işaret eden doğru yöntem çağrısı Kod, ProvidedConstructor
ürününün InvokeCode
ürününe aşağıdaki gibi eşdeğer bir yazım sağlayıcısına düzgün şekilde nasıl sağlayabilirim?ProvidedConstructor
Verilen:
type NewGeneratedType() as self =
inherit BaseType()
do
Utils.someFun "Foo" (box self)
Ben temel kurucu çalışma çağrısı var, ama düzgün dilimlemeniz nasıl bilmiyorum:
module Utils =
let someFun (s : string) (inst : obj) =
// Does something here...
()
ben etkili yapmak oluşturulan türü olması gerekir örneği ve aşağıdaki işlevi çağırın:
let ctor = ProvidedConstructor([])
let ci = baseType.GetConstructor(BindingFlags.Public ||| BindingFlags.Instance, null, [| |], null)
ctor.BaseConstructorCall <- fun args -> ci, args
// I do not know how to properly call this to match the constructor above
ctor.InvokeCode <- fun args -> <@@() @@>
Ne yazık ki, 'ctor.Invoke' eklediğinde erorr 'bildiriliyor ... bir hata bildirdi: bilinmeyen sabit 'ProviderImplementation.ProvidedTypes.ProvidedConstructor' oluşturulan yöntemde ' –