c++ - 在 C++ 中使用 COM 属性或 COM setter 和 getter 是最佳实践吗?

标签 c++ com activex

我是 COM 开发的新手,我想知道访问 COM 对象属性的社区标准是什么。我在代码中看到了以下两种约定:

comObjectPtr->PutValue(value);

comObjectPtr->Value = value;

这两种方法似乎都有效,但我想知道这两种方法是否有固有的优点或缺点,以及为什么。

最佳答案

如果我没记错的话,使用属性赋值会抛出异常,而如果有问题则在 setter 中返回 HRESULT。

getter 方法调用与属性的情况相同。

使用该属性的一个“好处”是您可以直接使用 prop-get 值,而不必声明一个变量并在使用前获取它。

关于c++ - 在 C++ 中使用 COM 属性或 COM setter 和 getter 是最佳实践吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/537027/

相关文章:

c++ - 是否可以让调试器显示 boost 函数对象指向的函数的名称?

c# - 从非托管代码 : SAFEARRAY 调用托管 COM

c++ - 使用 iostream 打印 CComBSTR (std::wcout)

c# - ActiveX 控件仅接受在 GraphicsUnit.Point 中定义的字体。参数名称: font

windows - 使用浏览器窗口容器中的 ActiveX 控件,如何检测用户何时将选项卡从 ActiveX 控件中移开

iis - 成功加载到内存后,创建对象突然开始失败

c++ - 使用 C++ 读取管道输入

c++ - 引用不同类型的变量

c++ - 将 stdout/stderr 重定向到 null vs2017 c++

c++ - RtlInitializeExceptionChain 有什么作用,如何减少它的执行开销?