从属性中的基 class 访问受保护的常量
Access protected const from base class in attribute
我有一个基数 class 有一个常数
public class TestClassBase
{
protected const string Foo = "Bar";
}
我可以按如下方式在 C# 中使用它
[Trait(Foo, "")]
public class MyCSharpTestClass : TestClassBase
{
}
如何在 F# class 中使用它? Foo
编译器无法识别。
[<Trait(Foo, "")>]
type MyFSharpTestClass() =
inherit TestClassBase()
我收到的错误是:FS0267 这不是有效的常量表达式或自定义属性值。
编辑
[<Trait(Foo, "")>]
产生:FS0039 未定义值或构造函数 'Foo'。也许您想要以下之一:floor.
[<Trait(this.Foo, "")>]
产生 FS0039 未定义值、命名空间、类型或模块 'this'。也许您想要以下之一:ThisAssembly.
[<Trait(base.Foo, "")>]
产生 FS0039 未定义值、命名空间、类型或模块 'base'。也许您想要以下之一:Base.
[<Trait(TestClassBase.Foo, "")>]
产生 FS0039 字段、构造函数或成员 'Foo' 未定义。
此问题在 Github site 上被归类为错误。
我有一个基数 class 有一个常数
public class TestClassBase
{
protected const string Foo = "Bar";
}
我可以按如下方式在 C# 中使用它
[Trait(Foo, "")]
public class MyCSharpTestClass : TestClassBase
{
}
如何在 F# class 中使用它? Foo
编译器无法识别。
[<Trait(Foo, "")>]
type MyFSharpTestClass() =
inherit TestClassBase()
我收到的错误是:FS0267 这不是有效的常量表达式或自定义属性值。
编辑
[<Trait(Foo, "")>]
产生:FS0039 未定义值或构造函数 'Foo'。也许您想要以下之一:floor.
[<Trait(this.Foo, "")>]
产生 FS0039 未定义值、命名空间、类型或模块 'this'。也许您想要以下之一:ThisAssembly.
[<Trait(base.Foo, "")>]
产生 FS0039 未定义值、命名空间、类型或模块 'base'。也许您想要以下之一:Base.
[<Trait(TestClassBase.Foo, "")>]
产生 FS0039 字段、构造函数或成员 'Foo' 未定义。
此问题在 Github site 上被归类为错误。