为什么您需要在c#中使用DispId注释

本文关键字:DispId 注释 为什么 | 更新日期: 2023-09-27 18:20:26

例如

public interface IWMPSettings
        [DispId(101)]
        bool autoStart { get; set; }
        [DispId(102)]
        int balance { get; set; }

它是有用的,还是只是为编译器自动生成的?什么是COM调度标识符?在.NET上下文中何时需要这些标识符?

为什么您需要在c#中使用DispId注释

简而言之,是的,它很有用,但仅适用于COM调度:

DispIdAttribute(来自MSDN):

指定方法、字段或属性的COM调度标识符(DISPID)。

此属性包含它所描述的方法、字段或属性的DISPID。唯一的DISPID通常由公共语言运行库分配,但您可以使用此属性为方法分配特定的DISPID。导入类型库时,此属性将应用于具有指定DISPID的所有方法。这确保了相同方法的任何托管实现在暴露于COM.时都保留相同的DISPID