【发布时间】:2015-07-19 02:21:16
【问题描述】:
我尝试理解Extension method concept in c#,所以我添加了这个接口:
public interface IExtension
{
public static int Multiple(this int a)
{
return a * 2;
}
}
在我的 Main 方法中
public static void Main()
{
Console.WriteLine("Entrer un numero");
int a =int.Parse( Console.ReadLine());
a.Multiple();
Console.ReadKey();
}
我在a.Multiple(); 中得到一个错误,表示该方法未被识别。
即使我添加了一个实现接口的静态类,我也会遇到同样的错误。
我该如何解决这个问题?
【问题讨论】:
-
据我所知
interface中的static成员没有任何意义,你有实现吗?? -
你不能在接口上实现 any 方法。根据定义,接口包含 no 实现。你还有别的意思吗?
-
@pana 有趣的是,在 Java 8 中,他们向接口添加了“默认”方法......所以这在 C# 和 .NET 中是正确的,但这并不是绝对的事实(考虑到 C# 有多少相似和 Java 是)
-
考虑到方法是在 interface 中实现的,我猜 OP 来自 Java 背景。没有苛刻的感情让我们摆弄dotnetfiddle.net/FidKGT
标签: c# .net oop interface extension-methods