我在C#中有以下接口:
public interface IDog
{
String Bark();
}
我希望用F#创建一个实现。这个没有问题:
type GermanShepherd() =
interface IDog with
member this.Bark() = "Woof"
但是当我添加了一个不属于接口的支持函数,就像这样:
type GermanShepherd() =
interface IDog with
member this.Bark() = "Woof"
member this.Eat() = "Yummy"
编译器报错:
Error 1 No abstract or interface member was found that corresponds to this override
Error 2 This value is not a function and cannot be applied*
有没有一种方法可以在实现接口的类型中实现私有/内部函数,而这些函数不是接口的一部分?我无法更改我的“真实”应用程序中的接口,因为有其他项目实现了该接口。我在 MSDN 上找到的所有示例都没有这种特殊情况。