0

我正在处理 C# 中的 expando 对象,但是,我想知道当我们访问不存在的属性时,我们是否有办法分配一个预定义的值,例如“找不到道具”?我的代码如下,如果我们访问字典中的未知属性(转换为 expandoObject),我有 Runtimebinderexception。

var dict = new ExpandoObject() as IDictionary<string, object>;

     foreach (var item in xmldoc.Root.Elements("test"))
     {
          dict .Add(item.Attribute("key").Value, item.Element("value").Value);
     }

/*Existing key, it works fine*/ var testKey = dict.TestData

/*For non existing key in the dictionary*/ var testKey = dict.NewKey; /*I have an exception here*/

那么有什么方法可以避免异常并显示上面的值(Prop not found)?谢谢

4

0 回答 0