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_Class - Fatal编程技术网

C# 从列表中获取类属性名称

C# 从列表中获取类属性名称,c#,asp.net,class,C#,Asp.net,Class,以下是我的问题: 我有一门课是这样的: class Artical { public int Id { get ; set;} public string Content-Language-en { get ; set;} public string Content-Language-de { get ; set;} public string Content

以下是我的问题:

我有一门课是这样的:

        class Artical
        {

            public int Id { get ; set;}
            public string Content-Language-en  { get ; set;}
            public string  Content-Language-de  { get ; set;}
            public string  Content-Language-ru  { get ; set;}
        }

    List<Artical> lst = new List<Artical>()
                         { new Artical{1,'en-content here ','','' },
                           new Artical{2,'russian content here','',''} };
foreach(var item in lst)
{

    if  (Content-Language-en ==(item property name)* ) 
    * I don't know how I can get the property name here!!
        {
         // do something
       }
        if  (Content-Language-ru ==(item property name)* ) 
    * I don't know how I can get the property name here!!
        {
         // do something
       }
}

我不能完全确定你想要什么,但这里有一个例子:

using System;
using System.Collections.Generic;
using System.Collections;
...
public class Artical:IEnumerable
{
    public Artical()
    {
    }

      public int Id { get; set;}
      public string Content_Language_en  { get ; set;}
      public string Content_Language_de  { get ; set;}
      public string Content_Language_ru  { get ; set;}

      public void ArticalCollection()
      {
          List<Artical> articalList = new List<Artical>();
      }


      public List<Artical> List { get; set; }

        IEnumerator IEnumerable.GetEnumerator()
      {
          return List.GetEnumerator();
      }

} 
...

//----------------------------------------------

List<Artical> lst = new List<Artical>()
            {
                         new Artical{
                         Id=1,
                         Content_Language_en="en-content here1",
                         Content_Language_ru="ru-content here1",
                         Content_Language_de="de-content here1"},

                         new Artical{
                         Id=2,
                         Content_Language_en="en-content here2",
                         Content_Language_ru="ru-content here2",
                         Content_Language_de="de-content here2"}

            };


        foreach(var item in lst)
        {
            Console.WriteLine("{0} {1} {2} {3}", 
                item.Id, item.Content_Language_en, item.Content_Language_ru, item.Content_Language_de);
        if  (item.Content_Language_en == "Hello in English" ) 

            {
             // do sometihng 
            }
            if  (item.Content_Language_ru =="Hello in Russian" ) 

            {
             // do sometihng 
            }
使用系统;
使用System.Collections.Generic;
使用系统集合;
...
公共类文章:IEnumerable
{
公共文章()
{
}
公共int Id{get;set;}
公共字符串内容\u语言\u en{get;set;}
公共字符串内容\u语言\u de{get;set;}
公共字符串内容\u语言\u ru{get;set;}
公共无效集合条款()
{
List articalList=新列表();
}
公共列表{get;set;}
IEnumerator IEnumerable.GetEnumerator()
{
返回List.GetEnumerator();
}
} 
...
//----------------------------------------------
List lst=新列表()
{
新文章{
Id=1,
Content\u Language\u en=“en Content here1”,
Content\u Language\u ru=“ru Content here1”,
Content\u Language\u de=“de Content here1”},
新文章{
Id=2,
Content\u Language\u en=“en Content here2”,
Content\u Language\u ru=“ru Content here2”,
Content\u Language\u de=“de Content here2”}
};
foreach(lst中的var项目)
{
Console.WriteLine(“{0}{1}{2}{3}”,
item.Id、item.Content\u Language\u en、item.Content\u Language\u ru、item.Content\u Language\u de);
如果(item.Content\u Language\u en==“Hello in English”)
{
//做点什么
}
if(item.Content\u Language\u ru==“你好,俄语”)
{
//做点什么
}

这是多亏了此链接的解决方案, 我做了一点修改

 foreach (var item in lst)
                {

                foreach (var items in (item.GetType()).GetProperties())
                    {
                    Console.WriteLine(items.Name);
if(items.Name==Session["Dil"].toString()) { //do something}
                    }
                }

jon我简化了我的问题。我希望你得到一个想法谢谢你有价值的答案emmad,我想这就是我想要的。我还没有实现