更新: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 } } |