gpt4 book ai didi

c# - 使用反射获取结构中的结构

转载 作者:行者123 更新时间:2023-11-30 17:00:44 25 4
gpt4 key购买 nike

我在访问结构中的 A 结构时遇到问题

namespace Some.NameSpace.ToAccess
{
public struct HowTo
{
public const string Some_Static_Strings = "redudantString";
public const string SomeOtherStatic_Strings = "someOtherRedundantString";
public const string Option3 = SomeOption";

public struct AccessMe
{
public static readonly string OPTION1 = 1.ToString;
public static readonly string OPTION2 = 2.ToString;
public static readonly string OPTION3 = 4.ToString;
public static readonly string OPTION0 = 0.ToString;

static AccessMe()
{
}
}
}
}

我看过其他类似的问题,但我的不同之处在于我也在运行时加载程序集,而不是仅仅使用反射在运行时获取特定结构的内容。因此,重申一下,我没有引用我在运行时之前迭代的库。

这与我的问题非常相似 Get struct within struct using reflection , 但是我做不到

FieldInfo FI = typeof(HowTo).GetType().GetField("Collection", BindingFlags.Public | BindingFlags.Instance);

因为我需要先获取类型,但是这也行不通

var result = _someClass.PreLoadedAssembly.GetType("Some.NameSpace.ToAccess.HowTo").GetField("AccessMe", BindingFlags.Public | BindingFlags.Instance);

(PreLoadedAssembly 是我在运行时加载并存储在 _someClass 中的程序集)

任何帮助将不胜感激,因为我还没有走得太远。谢谢

最佳答案

你应该使用 GetNestedType方法:

_someClass.PreLoadedAssembly
.GetType("Some.NameSpace.ToAccess.HowTo")
.GetNestedType("AccessMe");

关于c# - 使用反射获取结构中的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21828252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com