Birden çok kurucuya sahip bir .net sınıfından türeyen bir F # sınıfım var. Hepsini açığa çıkarmak için, birincil kurucu olmayan bir tür uygularım. Şimdi statik alan eklemek istiyorum. Statik alanı nasıl başlatırım? Şunu bir düşünün:F # içinde, statik alanları birincil kurucu içermeyen bir türde nasıl başlatırım?
Şimditype MyType =
inherit DotNetType
[<DefaultValue>] static val mutable private myStatic : int
new() = { inherit DotNetType() }
new (someArg:string) = { inherit DotNetType(someArg) }
, nasıl türü kullanılırsa, ve tip hiçbir zaman kullanılmaz hiç eğer tam olarak bir kez çalıştırılan bir şekilde "myStatic" alanını başlatmak do? Esasen bir C# statik yapıcı bloğunun eşdeğerine ihtiyacım var.
misiniz: https://msdn.microsoft.com /en-us/library/dd483473.aspx? – MarcinJuraszek
Hayır, bunun nedeni benim türümün birincil kurucunun olmaması. Statik değer tanımları yalnızca bir birincil kurucuya sahip türlerde kullanılabilir: Tür tanımına argümanlar eklemeyi düşünün, ör. 'X (args) = ...' yazın. Cevabınız için teşekkürler. –