C# 使用FieldInfo类获取数据成员值 类算法 { public const long AlgorithmDescription=1611048; public const long AlgorithmFamilyCodeSequence=6684719; public const long AlgorithmName=6684726; public const long AlgorithmNameCodeSequence=6684720; public const long算法参数=6684722; public const long AlgorithmType=1611047; public const long AlgorithmVersion=6684721; } 一班 { 分类列表ds; 公共分类列表遍历tag() { ds=新的分类列表(); uint i=0; foreach(FieldInfo prop in typeof(Algo).GetFields(BindingFlags.Public| BindingFlags.Static| BindingFlags.Instance) { ds.添加(i,道具名称); i++; } 返回ds; } } 公共课程 { 公共静态void Main() { var objClass=new Class1(); SortedList s=objClass.TraverseTag(); } }

C# 使用FieldInfo类获取数据成员值 类算法 { public const long AlgorithmDescription=1611048; public const long AlgorithmFamilyCodeSequence=6684719; public const long AlgorithmName=6684726; public const long AlgorithmNameCodeSequence=6684720; public const long算法参数=6684722; public const long AlgorithmType=1611047; public const long AlgorithmVersion=6684721; } 一班 { 分类列表ds; 公共分类列表遍历tag() { ds=新的分类列表(); uint i=0; foreach(FieldInfo prop in typeof(Algo).GetFields(BindingFlags.Public| BindingFlags.Static| BindingFlags.Instance) { ds.添加(i,道具名称); i++; } 返回ds; } } 公共课程 { 公共静态void Main() { var objClass=new Class1(); SortedList s=objClass.TraverseTag(); } },c#,generics,collections,C#,Generics,Collections,从Algo类中,我为它创建了一个dll,并使用对Program.cs类的引用,调用TraverseTag()方法,此方法返回我的uint和FieldInfo它返回我{[0,AlgorithmDescription]}但我还需要在Algo类中分配给我的数据成员的值 例如> {[0,算法描述,1611048]} 您可以访问FieldInfo实例的方法。这将为该字段所属的类的特定实例提供该字段的值。您可以访问FieldInfo实例的方法。这将为该字段所属的类的特定实例提供该字段的值。次要观察:Algo

Algo
类中,我为它创建了一个dll,并使用对
Program.cs
类的引用,调用
TraverseTag()
方法,此方法返回我的uint和FieldInfo它返回我
{[0,AlgorithmDescription]}
但我还需要在
Algo
类中分配给我的数据成员的值

例如>

{[0,算法描述,1611048]}


您可以访问FieldInfo实例的方法。这将为该字段所属的类的特定实例提供该字段的值。

您可以访问FieldInfo实例的方法。这将为该字段所属的类的特定实例提供该字段的值。

次要观察:
Algo
enum Algo:long{…}
@MarcGravel Algo是一个dll,我无法编辑它,我只提到了场景……次要观察:
Algo
可以作为
enum-Algo:long{…}
@MarcGravel Algo是一个dll,我无法编辑它,我只提到了场景……我引用了正确的msdn链接,但在msdn的第二个示例中,有myclass的构造函数,但我的Algo类没有构造函数,所以我该怎么办that@user2404595将
null
作为实例传递,因为
const
字段是
static
我引用了正确的msdn链接,但在msdn的第二个示例中,有myclass的构造函数,但我的algo类没有构造函数,所以我该怎么做that@user2404595将
null
作为实例传递,因为
const
字段是
static
class Algo
{
    public const long AlgorithmDescription = 1611048;
    public const long AlgorithmFamilyCodeSequence = 6684719;
    public const long AlgorithmName = 6684726;
    public const long AlgorithmNameCodeSequence = 6684720;
    public const long AlgorithmParameters = 6684722;
    public const long AlgorithmType = 1611047;
    public const long AlgorithmVersion = 6684721;
}
class Class1<T>
{
    SortedList<uint, string> ds;
    public SortedList<uint, string> TraverseTag()
    {
        ds = new SortedList<uint, string>();
        uint i = 0;
        foreach (FieldInfo prop in typeof(Algo).GetFields(BindingFlags.Public |
                                                          BindingFlags.Static | 
                                                          BindingFlags.Instance))
        {
            ds.Add(i, prop.Name);
            i++;
        }
        return ds;
     }
}

public class Program
{
    public static void Main()
    {
        var objClass = new Class1();
        SortedList<uint, string> s = objClass.TraverseTag();
    }
}