4

我有这个类的这些属性,我想知道如何从类中访问它们。ServedClassName是一个自定义属性,这就是我实际尝试访问的属性。

[Guid("24889af6-e174-460b-ab52-7fb5a925926e")]
[ServedClassName("ASCOM ProxyClient Telescope")]
[ProgId("ASCOM.DeviceProxyClient.Telescope")]
[ClassInterface(ClassInterfaceType.None)]
public class Telescope : ReferenceCountedObjectBase, ITelescopeV3

要访问 ProgID,我使用这个:Marshal.GenerateProgIdForType(this.GetType());

4

1 回答 1

6
object [] attrs = GetType().GetCustomAttributes(typeof(ServedClassNameAttribute), true);

将为您提供类上 ServedClassNameAttribute 类型的自定义属性的列表。然后,您可以像这样遍历属性实例:

foreach (ServedClassNameAttribute attr in attrs)
{
    // Do something with attr
}
于 2013-02-28T17:18:38.057 回答