F#: Implementing interface with function name the

2019-06-21 05:23发布

问题:

I am trying to implement the IVector interface which is part of the Microsoft.VisualC.StlClr namespace. It has a member function begin(). If I try to implement the interface then it complains about "unexpected keyword 'begin' in object expression".

Is this because begin is a keyword and I can't implement a member function with that name?

B.

回答1:

you can try to wrap it into backticks. IVector inteface is too big to implement it as sample, so example will be smaller - the code below compiles without any errors.

// C#
public interface ITest
{
    void begin();
}

// F#
type Test() = 
    interface UStatic.ITest with
        member this.``begin``() = ()