什么是c#中的DispId注释?

例如

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

它是有用的还是只是为编译器自动生成的?

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

DispIdAttribute (来自MSDN):

指定方法,字段或属性的COM分派标识符(DISPID)。

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