我希望能够使用这两种风格
let refdataservice = BBGReferenceData.Acquire
//some code
BBGReferenceData.Release
和
let refdataservice = BBGReferenceData.Acquire
//some code
refdataservice.Release
但是我似乎无法同时定义静态属性和同名的实例属性。
static member Release with get() = counter <- counter - 1
if counter = 0 then instance.Value.Stop()
//does not work, tells me that Release is not a static property
member x.Release with get() = BBGSession.Release
尝试覆盖不起作用
//'No abstract property was found that corresponds to this override'
override x.Release with get() = BBGSession.Release
我该怎样绕过这个?
答案 0 :(得分:1)
我认为你不能解决这个问题;不幸的是,你需要为一个属性选择一个不同的名称。我不确定这是预期的行为还是无意的限制,但你不能定义两个具有相同名称的属性,即使一个是静态的而另一个不是。同样,属性名称也必须与方法名称不同,即使它们的静态不同。