Search code examples
f#keywordidentifier

F#: Implementing interface with function name the same as the keyword begin


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.


Solution

  • 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``() = ()