Share via


Compiler Error CS1061

'type' does not contain a definition for 'member' and no extension method 'name' accepting a first argument of type 'type' could be found (are you missing a using directive or an assembly reference?).

This error occurs when you try to call a method or access a class member that does not exist.

Example

The following example generates CS1061 because TestClass1 does not have a DisplaySomething method. It does have a method that is called WriteSomething. Perhaps that is what the author of this source code meant to write.

// cs1061.cs
public class TestClass1
{
    // TestClass1 has one method, called WriteSomething.
    public void WriteSomething(string s)
    {
        System.Console.WriteLine(s);
    }
}

public class TestClass2
{
    // TestClass2 has one method, called DisplaySomething.
    public void DisplaySomething(string s)
    {
        System.Console.WriteLine(s);
    }
}

public class TestTheClasses
{
    public static void Main()
    {
        TestClass1 tc1 = new TestClass1();
        TestClass2 tc2 = new TestClass2();
        // The following call fails because TestClass1 does not have 
        // a method called DisplaySomething.
        tc1.DisplaySomething("Hello");      // CS1061

        // To correct the error, change the method call to either 
        // tc1.WriteSomething or tc2.DisplaySomething.
        tc1.WriteSomething("Hello from TestClass1");
        tc2.DisplaySomething("Hello from TestClass2");
    }
}

See Also

Reference

Classes and Structs (C# Programming Guide)

Extension Methods (C# Programming Guide)

Change History

Date

History

Reason

July 2009

Expanded the example.

Customer feedback.

October 2008

Added text and code comments.

Customer feedback.