显式转换存在c#

时间:2009-02-27 15:44:21

标签: c#

以下代码行显示标题错误:

ITestClass t = new TestClass();

TestClass实现:

    public class TestClass : ITestClass {


  public static TestClass Instance
        {
            get
            {
                return TestClass.Instance;
            }
        }

 //Interface members

}

我有另一组具有类似接口的类,这个演员有效,为什么不在这里工作?

3 个答案:

答案 0 :(得分:5)

您尝试分配的界面很可能不是您正在创建的类的一部分。仔细检查你的接口实现是否存在错误,这是一段完全有效的代码。

如果您遇到特定错误,请提供产生相同错误的代码,编译时您提供的代码不会出错。

答案 1 :(得分:4)

我不确定您输入的错误,但您列出的属性是一个错误。 getter只返回属性,因此无限递归。如果您尝试访问堆栈,则会在运行时导致堆栈溢出。

答案 2 :(得分:0)

这种错误的唯一可能性是TestClass或ITestClass在一个案例和另一个案例中并不意味着相同的事情。

最常见的原因是让包含TestClass的程序集和主程序集引用2个不同的dll文件,并使用名为ITestClass的接口。