コンパイラ エラー CS1061

'<型>' に '<名前>' の定義が含まれておらず、型 '<型>' の最初の引数を受け付けるアクセス可能な拡張メソッド '<名前>' が見つかりませんでした。using ディレクティブまたはアセンブリ参照が不足しています。

このエラーは、存在しないメソッドを呼び出そうとしたときや、存在しないクラス メンバーにアクセスしようとしたときに発生します。

次の例では、PersonDisplayName メソッドがないため、CS1061 エラーが発生します。 代わりに、WriteName というメソッドがあります。 このソース コードの作成者が意図したのは、こちらであると考えられます。

public class Person
{
    private string _name;

    public Person(string name) => _name = name;

    // Person has one method, called WriteName.
    public void WriteName()
    {
        System.Console.WriteLine(_name);
    }
}

public class Program
{
    public static void Main()
    {
        var p = new Person("PersonName");

        // The following call fails because Person does not have
        // a method called DisplayName.
        p.DisplayName(); // CS1061
    }
}

このエラーを解決するには

  1. メンバー名を正しく入力したことを確認します。
  2. このクラスを変更するアクセス権がある場合は、足りないメンバーを追加して実装できます。
  3. このクラスを変更するアクセス権がない場合は、拡張メソッドを追加できます。

関連項目