更新:2007 年 11 月
错误消息
“type”不实现“pattern name”模式。“method name”有签名错误。C# 中的两个语句 foreach 和 using 分别依赖预定义模式“collection”和“resource”。当由于方法的签名不正确,而使编译器无法将这些语句中的一个与它的模式相匹配时,将出现此警告。例如,“collection”模式要求有一个名为
“resource”模式和 using 提供另一个示例。“resource”模式需要
要解决此警告,请确保类型中的方法签名与模式中相应方法的签名相匹配,并确保您没有与模式所需的方法具有相同名称的属性。
示例
下面的示例生成 CS0280。
// CS0280.cs
using System;
using System.Collections;
public class ValidBase: IEnumerable
{
IEnumerator IEnumerable.GetEnumerator()
{
yield return 0;
}
internal IEnumerator GetEnumerator()
{
yield return 0;
}
}
class Derived : ValidBase
{
// field, not method
new public int GetEnumerator;
}
public class Test
{
public static void Main()
{
foreach (int i in new Derived()) {} // CS0280
}
} | |