在javascript中,您可以使用undefined关键字检测属性是否已定义:
if( typeof data.myProperty == "undefined" ) ...
Run Code Online (Sandbox Code Playgroud)
你如何在C#中使用带有ExpandoObject和不带异常的动态关键字来做到这一点?
我将把我的问题总结为以下代码片段.
List<int> list = new List<int>() { 5, 56, 2, 4, 63, 2 };
Console.WriteLine(list.First());
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常.
现在我尝试了以下内容
dynamic dList = list;
Console.WriteLine(dList.First());
Run Code Online (Sandbox Code Playgroud)
但是我得到了RuntimeBinderException.为什么会这样?
我想看看C#Expando类中是否存在属性.
很像python中的hasattr函数.我想为hasattr提供c#equalant.
像这样的东西......
if (HasAttr(model, "Id"))
{
# Do something with model.Id
}
Run Code Online (Sandbox Code Playgroud)