在c#中使用静态变量调用接口方法

时间:2013-12-09 12:36:46

标签: c# interface

我有一个使用界面的应用程序。

public interface INotificationError
{
    void Notification(Erros.ETypes error, Exception e);
}

在其他一些课程中说ClassName,他们已经分配了一个静态变量,如下所示:

public static INotificationError ErrorDispatch;

他们曾经使用以下行调用定义的方法。

ClassName.ErrorDispatch.Notification(ERROR, ex);

怎么可以调用这个方法?请解释一下?

3 个答案:

答案 0 :(得分:1)

ClassName.ErrorDispatch引用类ErroDispatch中的静态成员ClassName,其中ErroDispatch是这样初始化的:

ErroDispatch  = new DerivedFromINotificationErrorClass();

所以你可以打电话给那个班级的成员。该成员的访问是静态的,但该成员是实现INotificationError接口的某个类的常用实例(在我的示例中为DerivedFromINotificationErrorClass

答案 1 :(得分:0)

ClassName可能是名称与您的类名匹配的属性。

答案 2 :(得分:0)

检查ClassName ErrorDispatch上的引用,某处将有实现类的赋值,它实现了INotificationError接口,否则会导致null引用异常。