我该如何检查,如果一个属性存在于一个动态的匿名类型在C#? [英] How do I check if a property exists on a dynamic anonymous type in c#?
本文介绍了我该如何检查,如果一个属性存在于一个动态的匿名类型在C#?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有我收到一个从动态的方法,一个匿名类型的对象 我想检查的属性存在的对象。
....
VAR设置=新{
文件名=TEMP.TXT
尺寸= 10
}
...
函数void设置(动态设置){
VAR存在= IsSettingExist(设置,文件名)
}
我将如何实现IsSettingExist?
解决方案
公共静态布尔IsPropertyExist(动态设置,字符串名称)
{
返回settings.GetType()的getProperty(名称)=空。!;
}
VAR设置=新{文件名= @C:\ TEMP \ q.txt};
Console.WriteLine(IsPropertyExist(设置,文件名));
Console.WriteLine(IsPropertyExist(设置,大小));
输出:
真
假
I have an anonymous type object that I receive as a dynamic from a method I would like to check in a property exists on that object.
....
var settings = new {
Filename="temp.txt",
Size=10
}
...
function void Settings(dynamic settings) {
var exists = IsSettingExist(settings,"Filename")
}
How would I implement IsSettingExist ?
解决方案
public static bool IsPropertyExist(dynamic settings, string name)
{
return settings.GetType().GetProperty(name) != null;
}
var settings = new {Filename = @"c:\temp\q.txt"};
Console.WriteLine(IsPropertyExist(settings, "Filename"));
Console.WriteLine(IsPropertyExist(settings, "Size"));
Output:
True
False
这篇关于我该如何检查,如果一个属性存在于一个动态的匿名类型在C#?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文