如何在不打开的情况下从 F# 调用 C# 扩展方法?
How do I call a C# extension method from F#, without open?
我在 C# 中有一个扩展方法:
Foo(this Bar bar, int x)
{
// Do stuff
}
如何在 F# 中调用它?
bar.Foo(100); // Doesn't work
bar.Namespace.Foo(100); // Doesn't work
回答How do I use the extension method Sum on a .NET list in F#?需要打开模块。我可以在没有 open
的情况下访问扩展方法吗?
这个问题在 F# 和 C# 中是一样的。要使用扩展方法,您可以打开命名空间 (F#) 或使用命名空间的 using 语句 (C#),或者如果由于某种原因您不能或不想打开命名空间,则完全限定该方法.
在两种语言中,打开 System.Linq
命名空间:
myArray.Sum()
在两种语言中,不打开 System.Linq
命名空间:
System.Linq.Enumerable.Sum(myArray)
我在 C# 中有一个扩展方法:
Foo(this Bar bar, int x)
{
// Do stuff
}
如何在 F# 中调用它?
bar.Foo(100); // Doesn't work
bar.Namespace.Foo(100); // Doesn't work
回答How do I use the extension method Sum on a .NET list in F#?需要打开模块。我可以在没有 open
的情况下访问扩展方法吗?
这个问题在 F# 和 C# 中是一样的。要使用扩展方法,您可以打开命名空间 (F#) 或使用命名空间的 using 语句 (C#),或者如果由于某种原因您不能或不想打开命名空间,则完全限定该方法.
在两种语言中,打开 System.Linq
命名空间:
myArray.Sum()
在两种语言中,不打开 System.Linq
命名空间:
System.Linq.Enumerable.Sum(myArray)