c#检查动态值是否为null

本文关键字:null 是否 检查 动态 | 更新日期: 2023-09-27 18:15:39

我有一个方法,它有一个动态参数并返回一个动态结果。我想能够传递null, int,字符串等到我的方法。然而,我得到"NotSupportedException"在所有情况下。

MyMethod(null); // Causes problems (Should resolve to ref type?)
MyMethod(0); // Causes problems (Should resolve to int type)
public dynamic MyMethod(dynamic b)
{
  if (value != null) {...}// Throws NotSupportedExpception
  if (value != 0) {...} // Throws NotSupportedExpception
}

c#检查动态值是否为null

它正在工作

    static void Main(string[] args)
    {
        MyMethod(null);
        MyMethod(0);
    }        
    public static dynamic MyMethod(dynamic value)
    {
        if (value != null)
            Console.WriteLine("Value is not null.");
        if (value != 0)
            Console.WriteLine("Value is not 0.");
        return value;
    }

输出
Value is not 0.
Value is not null.