【发布时间】:2011-04-21 07:29:41
【问题描述】:
我正在尝试实现作为 Microsoft.VisualC.StlClr 命名空间一部分的 IVector 接口。它有一个成员函数 begin()。如果我尝试实现该接口,那么它会抱怨“对象表达式中出现意外的关键字'开始'”。
这是因为 begin 是一个关键字,而我无法实现具有该名称的成员函数吗?
乙。
【问题讨论】:
标签: f# keyword identifier
我正在尝试实现作为 Microsoft.VisualC.StlClr 命名空间一部分的 IVector 接口。它有一个成员函数 begin()。如果我尝试实现该接口,那么它会抱怨“对象表达式中出现意外的关键字'开始'”。
这是因为 begin 是一个关键字,而我无法实现具有该名称的成员函数吗?
乙。
【问题讨论】:
标签: f# keyword identifier
您可以尝试将其包装成反引号。 IVector 接口太大,无法将其作为示例实现,因此示例会更小 - 下面的代码编译时没有任何错误。
// C#
public interface ITest
{
void begin();
}
// F#
type Test() =
interface UStatic.ITest with
member this.``begin``() = ()
【讨论】:
Test.''begin'' 吗? (使用引号无法解决如何逃避反引号)
Test 类型添加其他成员可能是一个好主意。
begin(value:byref