C# Linq-以列表形式获取静态类常量
这是我的静态类,其中包含常量C# Linq-以列表形式获取静态类常量,c#,linq,c#-4.0,C#,Linq,C# 4.0,这是我的静态类,其中包含常量 public static class Files { public const string FileA = "Block1"; public const string FileB = "Block2"; public const string FileC = "Block3"; public const string FileD = "Block6.Block7"; } 除了将其转换为数据表并检索之外,是否有可能使用LINQ以
public static class Files
{
public const string FileA = "Block1";
public const string FileB = "Block2";
public const string FileC = "Block3";
public const string FileD = "Block6.Block7";
}
除了将其转换为数据表并检索之外,是否有可能使用LINQ以列表的形式获取常量。谢谢希望您正在寻找这样的产品:
List<string> staticconstList = new List<string>();
Type type = typeof(Files);
foreach (var field in type.GetFields())
{
var val = field.GetValue(null);
staticconstList.Add(val.ToString());
}
List staticconstList=newlist();
类型=类型(文件);
foreach(type.GetFields()中的var字段)
{
var val=field.GetValue(null);
staticconstList.Add(val.ToString());
}
或者像这样:
List<string> staticconstList = type.GetFields().Select(x => x.GetValue(null).ToString()).ToList();
List staticconstList=type.GetFields().Select(x=>x.GetValue(null.ToString()).ToList();
希望您正在寻找这样的产品:
List<string> staticconstList = new List<string>();
Type type = typeof(Files);
foreach (var field in type.GetFields())
{
var val = field.GetValue(null);
staticconstList.Add(val.ToString());
}
List staticconstList=newlist();
类型=类型(文件);
foreach(type.GetFields()中的var字段)
{
var val=field.GetValue(null);
staticconstList.Add(val.ToString());
}
或者像这样:
List<string> staticconstList = type.GetFields().Select(x => x.GetValue(null).ToString()).ToList();
List staticconstList=type.GetFields().Select(x=>x.GetValue(null.ToString()).ToList();
通过反射,您可以这样做,结果是一个带有字段、值结构的可枚举项
using System;
using System.Linq;
using System.Reflection;
namespace ConsoleApplication2
{
public static class Files
{
public const string FileA = "Block1";
public const string FileB = "Block2";
public const string FileC = "Block3";
public const string FileD = "Block6.Block7";
}
internal class Program
{
private static void Main(string[] args)
{
var t = typeof(Files);
var fields = t.GetFields(BindingFlags.Static | BindingFlags.Public);
var list = fields.Select(x => new {Field = x.Name, Value = x.GetValue(null).ToString()});
Console.Read();
}
}
}
使用反射,您可以这样做,结果是一个带有字段、值结构的可枚举项
using System;
using System.Linq;
using System.Reflection;
namespace ConsoleApplication2
{
public static class Files
{
public const string FileA = "Block1";
public const string FileB = "Block2";
public const string FileC = "Block3";
public const string FileD = "Block6.Block7";
}
internal class Program
{
private static void Main(string[] args)
{
var t = typeof(Files);
var fields = t.GetFields(BindingFlags.Static | BindingFlags.Public);
var list = fields.Select(x => new {Field = x.Name, Value = x.GetValue(null).ToString()});
Console.Read();
}
}
}
您可以使用反射来读取类属性。请给我示例代码。对不起,我从来没有用过思考。我想你的问题是重复的!考虑到“将其转换为数据表并检索”,也许您应该更好地使用Enum?不。我需要它作为列表,并通过LINQ实现。您提到的上述链接仅使用了反射@HPFS您可以使用反射来读取类属性。请给我示例代码。对不起,我从来没有用过思考。我想你的问题是重复的!考虑到“将其转换为数据表并检索”,也许您应该更好地使用Enum?不。我需要它作为列表,并通过LINQ实现。您提到的上述链接仅使用了反射@HPFS输出的预期类型是什么?什么的列表?输出的预期类型是什么?什么清单?