Error CS0117: Namespace.A does not contain definition for Interface..

Posted by SnOrfus on Stack Overflow See other posts from Stack Overflow or by SnOrfus
Published on 2010-05-12T20:57:51Z Indexed on 2010/05/12 21:54 UTC
Read the original article Hit count: 477

I'm getting the error:


'Namespace.A' does not contain a definition for 'MyObjectInterface' and no extension method 'MyObjectInterface' accepting a first argument of type ...


I've looked at this and this and neither seems to apply.

The code looks like:

public abstract class Base
{
    public IObject MyObjectInterface { get; set; }
}

public class A : Base
{
    /**/
}

public class Implementation
{
    public void Method()
    {
        Base obj = new A();
        obj.MyObjectInterface = /* something */; // Error here
    }
}
  • IObject is defined in a separate assembly, but:

    • IObject is in a separate assembly/namespace
    • Base and A are in the same assembly/namespace each with correct using directives
    • Implementation is in a third separate assembly namespace, also with correct using directives.
  • Casting to A before trying to set MyObjectInterface doesn't work

  • Specifically, I'm trying to set the value of MyObjectInterface to a mock object (though, I created a fake instead to no avail)

I've tried everything I can think of. Please help before I lose more hair.

edit I can't reproduce the error by creating a test app either, which is why I'm here and why I'm frustrated.

@Reed Copsey: /* something */ is either an NUnit.DynamicMock(IMailer).MockInstance or a Fake object I created that inherits from IObject and just returns canned values.

@Preet Sangha: I checked and no other assembly that is referenced has a definition for an IObject (specifically, it's called an IMailer).

Thing is that intellisense picks up the Property, but when I compile, I get CS0117. I can even 'Go To Definition' in the implementation, and it takes me to where I defined it.

© Stack Overflow or respective owner

Related posts about c#

Related posts about namespaces