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();
}
}