C# 4.0 接口调用为 null 的原因及解决方案
调用一个接口为 null 的情况通常是由于接口实例没有被赋值或者赋值为 null 导致的。解决方法是确保接口实例被正确赋值,或者进行空引用检查。
以下是一个示例:
using System;
public interface IMyInterface
{
void MyMethod();
}
public class MyClass : IMyInterface
{
public void MyMethod()
{
Console.WriteLine('MyMethod is called.');
}
}
public class Program
{
public static void Main(string[] args)
{
IMyInterface myInterface = null; // 将接口实例初始化为null
// 调用接口方法前先进行空引用检查
if (myInterface != null)
{
myInterface.MyMethod();
}
else
{
Console.WriteLine('myInterface is null.');
}
// 或者使用Null条件运算符(C# 6.0及以上版本)
myInterface?.MyMethod();
}
}
在上述示例中,我们首先将接口实例myInterface初始化为 null。然后,在调用接口方法MyMethod()之前,我们使用 if 语句进行空引用检查,如果myInterface为 null,则输出提示信息。另外,我们还可以使用 Null 条件运算符(?.)来简化空引用检查,如果myInterface为 null,该方法将不会被调用。
请注意,如果接口实例没有被正确实例化,或者赋值为 null,调用接口方法将会引发NullReferenceException异常。因此,确保在调用接口方法之前,接口实例已经被正确赋值或者进行了空引用检查是非常重要的。
原文地址: https://www.cveoy.top/t/topic/qnMD 著作权归作者所有。请勿转载和采集!