gpt4 book ai didi

.net - MemberTypes.Custom 和 MemberTypes.TypeInfo 成员的示例

转载 作者:行者123 更新时间:2023-12-04 00:25:45 25 4
gpt4 key购买 nike

System.Reflection.MemberTypes 有八个不同的枚举值。五个直接映射到特定的 MemberInfo 类(ConstructorInfo、MemberInfo 等)。 MemberTypes.NestedType 可以被认为是 Type 而不是 MemberInfo。我正在尝试了解 (1) MemberTypes.Custom 和 (2) MemberTypes.TypeInfo 成员。有没有人有这样的成员的例子?

最佳答案

public class Foo
{
public class Bar { }
}

对于这两个类,以下内容将是正确的。
typeof(Foo).MemberType == MemberTypes.TypeInfo
typeof(Foo.Bar).MemberType == MemberTypes.NestedType

两者 TypeInfoNestedType表明您正在处理一个类型,并区分该类型是否嵌套。枚举值 TypeInfo只是坚持命名约定,而 MemberInfo 的实际子类型是 Type .一方面 Type应该被称为 TypeInfo坚持命名约定,另一方面, Type 似乎有点问题。源自 MemberInfo首先。但这只是它的方式。可能是 MemberInfo 的成员(member)应该更好地理解为程序集或类型成员,而不仅仅是类型成员。

从 .NET 4.5 开始,有新的子类 TypeInfo 继承自 Type并使用 Type.GetTypeInfo() extension method 访问;请参阅那里的区别。

我不确定 MemberTypes.Custom但看着 CLI specification ,尤其是 II.10.2,这可能是指与类型关联的自定义属性或其他自定义数据。看着 .NET reference source code也没有提供额外的见解。

关于.net - MemberTypes.Custom 和 MemberTypes.TypeInfo 成员的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18068635/

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