【发布时间】:2017-10-29 03:34:32
【问题描述】:
我有一个带有常量的基类
public class TestClassBase
{
protected const string Foo = "Bar";
}
我可以在 C# 中使用如下
[Trait(Foo, "")]
public class MyCSharpTestClass : TestClassBase
{
}
如何在 F# 类中使用它?编译器无法识别Foo。
[<Trait(Foo, "")>]
type MyFSharpTestClass() =
inherit TestClassBase()
我得到的错误是:FS0267 这不是一个有效的常量表达式或自定义属性值。
编辑
[<Trait(Foo, "")>] 产生:FS0039 值或构造函数 'Foo' 未定义。也许您想要以下之一:地板。
[<Trait(this.Foo, "")>] 产生 FS0039 值、命名空间、类型或模块“this”未定义。也许您想要以下之一:ThisAssembly。
[<Trait(base.Foo, "")>] 产生 FS0039 值、命名空间、类型或模块“基”未定义。也许你想要以下之一:基地。
[<Trait(TestClassBase.Foo, "")>] 产生 FS0039 字段、构造函数或成员 'Foo' 未定义。
【问题讨论】:
-
你试过合格了吗,比如
TestClassBase.Foo? -
@FyodorSoikin 看到我的编辑。很遗憾,您的建议没有奏效。