c# - 获取应用于通过 COM 接口(interface)公开的 C# 属性的帮助字符串属性

标签 c# com interface properties interop

我目前正在开发一个库,该库将向 COM 公开以用于正在升级的遗留项目。我正在创建要公开的接口(interface),它们具有 long、int 等类型的属性。使用 DescriptionAttribute,我可以获得在 .tlb 中为接口(interface)、类和方法生成的帮助字符串,但出于某种原因,它似乎不想为属性工作。有没有办法在 TLB 输出中为属性生成帮助字符串?

最佳答案

您必须将属性分别放在 getter 和 setter 上。像这样:

using System;
using System.ComponentModel;
using System.Runtime.InteropServices;

namespace ClassLibrary1 {
    [ComVisible(true), InterfaceType(ComInterfaceType.InterfaceIsDual)]
    public interface IFoo {
        int property {
            [Description("prop")]
            get;
            [Description("prop")]
            set;
        }
    }
}

重复描述是笨拙的,但在 IDL 中也是必需的。

关于c# - 获取应用于通过 COM 接口(interface)公开的 C# 属性的帮助字符串属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6668500/

相关文章:

java.util 包 - 类与接口(interface)

r - 如何使用 RDCOMClient 将 Outlook 电子邮件签名添加到 COM 对象

.net - 在不使用 GAC 的情况下向 COM 注册托管程序集

java - Java中的List接口(interface)是什么数据结构?

c# - AsNoTracking() 的全局设置?

visual-studio-2010 - Visual Studio 的调试器/交互式窗口如何在 .NET 中转储 COM 对象的属性?

postgresql - 如何在没有 matlabs 数据库工具箱的情况下从 matlab 访问 postgresql 数据库?

c# - 在 C# 中添加矩阵?

c# - 有没有办法使用 OpenXml 从列中获取最后填充的行单元格值

c# - 为什么配置 NetworkStream 会断开客户端