Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 此方法中缺少获取实体属性的内容_C#_Asp.net Mvc_Reflection_Entity - Fatal编程技术网

C# 此方法中缺少获取实体属性的内容

C# 此方法中缺少获取实体属性的内容,c#,asp.net-mvc,reflection,entity,C#,Asp.net Mvc,Reflection,Entity,这总是假的。 我复制粘贴了代码,所以我可能遗漏了什么。一些我看不见的东西。我找到了一个解决方案来检索所有属性名 if (prop.PropertyType.IsGenericType) private String[]GetProperties(EContent\u EcontentFields eContentField) { 列表=新列表(); Type=eContentField.GetType(); var properties=type.GetProperties()。其中(x=>x

这总是假的。
我复制粘贴了代码,所以我可能遗漏了什么。一些我看不见的东西。

我找到了一个解决方案来检索所有属性名

if (prop.PropertyType.IsGenericType)
private String[]GetProperties(EContent\u EcontentFields eContentField)
{
列表=新列表();
Type=eContentField.GetType();
var properties=type.GetProperties()。其中(x=>x.MemberType==MemberTypes.Property)。选择(x=>x.Name);
foreach(属性中的变量项)
{
如果(项!=null)
list.Add(item.ToString());
}  
return list.ToArray();
}
var result=new List();
var type=eContentField.GetType();
foreach(type.GetProperties()中的var prop)
{
结果.添加(项目名称);
}
返回result.ToArray();
}
如果您对速度感兴趣,这大约是您的方法的两倍。
Ps:如果将foreach改为for循环,速度会快一点,但不会太快:)

能否更具体地说明要检索的内容?我想找到一种方法来检索属性的所有名称,但找到了一个方法。谢谢速度永远是一件事。我会把它换成你写的。谢谢回复!答案被接受。
if (prop.PropertyType.IsGenericType)
private String[] GetProperties(EContent_EcontentFields eContentField)
        {
            List<String> list = new List<String>();
            Type type = eContentField.GetType();
            var properties = type.GetProperties().Where(x => x.MemberType == MemberTypes.Property).Select(x => x.Name);
            foreach (var item in properties)
            {
                if(item != null)
                    list.Add(item.ToString());
            }  

            return list.ToArray();
        }
var result = new List<string>();
var type = eContentField.GetType();
foreach (var prop in type.GetProperties())
{
     result.Add(prop.Name);
 }

 return result.ToArray();
}