更新:2007 年 11 月

错误消息

“Type”不包含“method”的定义,并且最佳扩展方法重载“method”的某些参数无效。

如果编译器找不到具有已调用方法的名称的类成员,则会生成此错误。虽然编译器可以找到具有该名称的扩展方法,但该扩展方法没有与通过方法调用传入的类型相匹配的签名。

更正此错误

  • 传入与现有扩展方法或类方法相匹配的类型。

示例

下面的代码生成 CS1928:

 复制代码
// cs1928.cs
class Test
{
    static void Main()
    {
        Test t = new Test();
        t.M("hi"); // CS1928
    }
}
static class Ext
{
    public static void M(this Test t, int i)
    {
    }
}

此错误通常与 CS1503 错误(参数“n”:无法从“typeA”转换为“typeB”)一起发生。

请参见

参考

扩展方法(C# 编程指南)