c++/cli 接口重写的显式实现

2024-03-27

我有两个接口:

public interface I1
{
    A MyProperty { get; set; }
}

public interface I2 : I1
{
    new B MyProperty { get; set; }
}

在 C# 中,我可以像这样显式实现:

public class C : I1, I2
{
    public B MyProperty { get; set; }
    A I1.MyProperty { get; set; }
}

不知何故,我必须在 c++/cli 项目中使用这些接口。那么,我如何在 c++/cli 中实现这个呢?

提前致谢。


我自己解决了。它应该是:

public ref class C : I1, I2
{
public:
    virtual property B^ MyProperty
    {
        B^ get() { ... }
        void set(B^ value) { ... }
    }

 protected:
     virtual property A^ DummyProperty
     {
         A^ get() = I1::MyProperty::get { return nullptr; }
         void set(A^ value) = I1::MyProperty::set { }
     }
 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c++/cli 接口重写的显式实现 的相关文章

  • 将 C++/CLI 字符串数组转换为字符串向量

    我在 C CLI 中有一个参数 如下所示 array
  • 如何在 C++/CLI 接口中声明默认索引属性

    如何在 C CLI 接口中声明默认索引属性 请原谅使用命名空间的重复 完全限定符号 因为我刚刚学习 C CLI 并且希望确保 C 和 C 之间不会发生语言原语的意外混淆 Code is public interface class ITes
  • 添加 #pragma make_public(Type) 未消除 C3767 错误

    我有一个 Assembly A 它定义了一个托管类 该类具有一个采用两种本机类型的公共构造函数 我可以访问包含本机类型的头文件和编译的 lib 文件 我创建了一个C CLI项目并定义了ref class其中包含一个public static
  • 如何从另一个类调用静态方法?

    我正在尝试打电话静态方法从a h到b cpp 根据我的研究 它就像只放置一个 范围解析一样简单 但无论如何我尝试过 它都会抛出一个错误 C 需要所有声明的类型说明符 下面是我所拥有的 a cpp float method some calc
  • 使用 C++ dll 的 C# 应用程序中的堆栈溢出

    我有一个使用 c cli 托管 dll 的 C 程序 该dll包含大量遗留代码 由相当多的win32窗口组成 问题是 dll 中的窗口需要比平均水平多一点的堆栈空间cough 由于这些不是后台进程 而是 win32 api 我需要扩大 GU
  • 静态库模式下的 Visual Studio 2010 C++/CLI:找不到程序集“mscorlib.dll”

    我正在使用 VS 2012 在动态库 dll 和 x64 模式下开发 C CLI 项目 如果我将模式切换到静态库 则会出现以下错误 错误 1 错误 C1107 找不到程序集 mscorlib dll 请使用 AI 或通过设置 LIBPATH
  • 如何正确声明 Font 变量? [复制]

    这个问题在这里已经有答案了 我有一个简单的问题 谁能告诉我这行有什么问题 Font printFont gcnew System Drawing Font Arial 10 我的编译器说 标识符 printFont 无法识别 我还包含命名空
  • 在 C++ 中将矩阵定义为数组数组并计算其逆矩阵

    不幸的是 我在 C 方面没有太多经验 并且我正在努力在 C 方面取得进步 首先 我定义了数组数组 以便形成一个 3x3 矩阵 array lt array lt double gt gt input gcnew array lt array
  • C 库的 C++/CLI 类包装器 - 回调

    我正在使用 C CLI 包装 C 库 C 库设计为从非托管 C 类中使用 这意味着库函数接受 C 对象指针 然后在回调中提供该指针 这使得回调代码能够将请求重定向到调用 C 对象中的适当事件函数 实际功能相当复杂 因此我将问题空间简化为几个
  • ^ 有什么作用? [复制]

    这个问题在这里已经有答案了 我是 C 编程新手 正在查看我不久前发现的一些示例 由于我是一名不错的 Java 程序员 因此我取得了良好的进步 至少从我的角度来看 D 现在我遇到了一些我无法弄清楚它的作用的事情 Threading Threa
  • 在 C++/CLI 包装类中翻译异常的最佳实践

    我正在为抛出异常的现有本机类编写 NET 包装类 在本机 C 异常和托管异常之间进行转换的最佳实践是什么 一对一地捕获并重新抛出 例如 std invalid argument gt System System ArgumentExcept
  • C++/CLI,类声明之外的静态构造函数

    如何将托管类的静态构造函数的主体放在类声明之外 这种语法似乎是可编译的 但它真的意味着静态构造函数 还是只是一个静态 在翻译单元之外不可见 函数 ref class Foo static Foo static Foo Foo 是的 这是创建
  • 如何最好地避免 C++/CLI 本机类型中的双重转换

    传统上 我一直使用 MFC 扩展 dll 并使用 dllimport dllexport 导入 导出 但是 当 dll 更改为使用 clr 时 此方法的成本会变得很高 因为调用可能会导致双重转换 我现在的性能受到了巨大的打击 需要停止双重重
  • 在 C++ 中触发事件并在 C# 中处理它们

    我有一台带有一些数字 I O 引脚的工业计算机 制造商提供了一些C 库和示例来处理引脚状态变化 我需要将此事件集成到 C 应用程序中 据我所知 执行此操作的最简单方法是 为制造商库创建一个托管 C CLI 包装器 当从 DIO 引脚发出中断
  • 混合 C++/CLI TypeLoadException 内部限制:字段过多

    为了将一些新的 UI 迁移到托管 C 领域 我最近在一个大型旧项目上启用了公共语言运行时支持 clr 该项目在共享 DLL 中使用 MFC 并依赖于我们的大约十几个其他项目 整体解决方案 该项目是我们应用程序的核心 并将驱动生成的任何托管
  • 在 C++ 声明中使用 ^ 字符意味着什么? [复制]

    这个问题在这里已经有答案了 可能的重复 C CLI 中插入符号 是什么意思 https stackoverflow com questions 202463 what does the caret mean in c cli 在 C CLR
  • Silverlight 和 C++ 或 C++ 到 C# 正在进行代码转换吗?

    我正在开发一款基于绘图的产品 我希望按照优先级顺序为 iPhone 桌面 OS X Windows 平板电脑 基于 Silveright 的浏览器 Windows Mobile 和 Windows 生成版本 对于 GUI 可移植性 经典的答
  • 从 Visual C++ 调用 C# 代码

    基本上我需要从 Visual C 代码调用 C 代码 在阅读了大量有关可能方法的文章后 我决定使用 C CLI 机制 最初我决定在 C 本机代码 dll 库项目 中使用一些函数 它们将调用 CLR 项目中的一些函数 CLR 项目将调用 C
  • C++ 虚(密封)函数

    我在我的 C 项目中使用 dll 中的类 一切都工作正常 直到 当尝试调用某个方法 在对象浏览器中列出 时 我收到一条错误消息 指出该方法不是命名空间的成员 经过调查 我注意到该方法被列为 virtual void x seal 有没有办法
  • 在 C++/CLI 中使用 EventHandler

    我正在尝试使用 c cli 中的事件处理程序来引发事件 然后在 c 中订阅它 class Mclass event System EventHandler someEvent void ShowMessage System String s

随机推荐

  • 为什么单函数访问器似乎被认为是坏习惯?

    我经常看到 即在 Slim 框架内 单一函数访问器风格 如下面的 1 已弃用 取而代之的是经典的 Java ish 2 函数访问器 get set 如下面的 2 就我个人而言 我更喜欢更少的代码行 在 1 中 和更少的输入 get set
  • Java多线程数据库访问[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对于多线程 Java 应用程序来说 确保所有线程同步访问数据库的最佳解决方案是什么 例如 每个线程代表单独的事务 并且首先检查数据库的
  • 使用 FFT 进行 Matlab 模板匹配

    我正在努力解决 Matlab 中傅立叶域中的模板匹配问题 这是我的图片 艺术家是 DeviantArt 上的 RamalamaCreatures 我的目标是在负鼠的耳朵周围放置一个边界框 就像这个例子 我使用normxcorr2执行模板匹配
  • Stripe webhook 签名失败 - Stripe.net

    我正在尝试使用 Jayme Davis 的 C 库 Stripe net 来实现 stripe webhook 我已经在条带仪表板中设置了测试端点并生成了秘密 端点命中良好 并将使用 StripeEventUtility ParseEven
  • Django Celery 内存未释放

    在我的 django 项目中 我有以下依赖项 Django 1 5 4 django celery 3 1 9 amqp 1 4 3 海带 3 0 14 librabbitmq 1 0 3 按照建议https stackoverflow c
  • MongoDB:文档大小会影响查询性能吗?

    假设一款手机游戏由 MongoDB 数据库支持 其中包含User包含数百万份文档的集合 现在假设必须与用户关联的几十个属性 例如一个数组 id的值Friend文件 他们的用户名 照片 一系列 id的值Game文件 上次登录日期 游戏货币数量
  • C++ 传递字符串文字而不是 const std::string&?

    我有以下代码 使用 g 进行编译时没有警告 Wall pedantic include
  • Kotlin 中带有 val 的循环引用

    在 Kotlin 中 假设我有data class A val f B and data class B val f A 我想初始化本地var a A and var b B这样a f is b and b f is a A f and B
  • CUDA __syncthreads() 编译正常,但带有红色下划线

    我已经使用 CUDA 4 2 一周了 但遇到了一些问题 当我编写 syncthreads 函数时 它会带有下划线 看起来是错误的 然后 如果我将鼠标放在该函数上 则会出现一条消息 标识符 syncthreads 未定义 但是当我编译我的项目
  • VB6 解析器/词法分析器/脚本编写器

    我有一个 VB6 游戏 它运行得很好 但我一直在考虑创建一个脚本引擎的想法 我想我希望 VB6 为我读取纯文本脚本文件 然后 lex parse execute 它们 我有很好的编程经验 之前也搭建过一个简单的C编译器 以及一个LOGO模拟
  • Android ExpandableListView 和 onChildClick 不起作用

    我已经阅读了很多与我遇到相同问题的线程 但我无法弄清楚发生了什么 我有一个可扩展的列表视图 但我无法使 onChildClickListener 工作 onGroupClickListener 工作正常 但我并不真正需要它 我看了很多例子
  • 在 Cocoa 中创建动画 GIF - 定义帧类型

    我已经能够改编在 SO 上找到的一些代码 从我的视图的 屏幕截图 生成动画 GIF 但结果是不可预测的 GIF 帧有时是完整图像 完整帧 替换 模式 正如 GIMP 所标记的那样 其他时候只是与上一层的 差异 组合 模式 据我所知 当涉及的
  • 如何自动初始化 Perl 中的所有标量变量?

    Perl 自动初始化变量 https stackoverflow com questions 260703 when does perl auto initialize variables to undef默认情况下 有没有办法覆盖这个默认
  • 获取特定 S3 对象的下载计数

    我有许多 S3 对象可供我的客户使用 由于我想按使用情况向客户计费 我想知道是否有任何聪明的方法来获取给定文件的下载次数 或者 我想我可以解析 S3 提供的日志文件 但对于每个客户 1000 万次以上的提取 这可能是一项艰巨的任务 有任何想
  • $rootscope 值在控制器中未定义

    我在运行中定义了一个 rootscope 对象 如下所示 Start the AngularJS App var angularApp angular module angularApp Run at the start of the An
  • C# 9 中的 Init-Only 和 ReadOnly 有什么区别?

    我正在经历C 9 新特性 https devblogs microsoft com dotnet welcome to c 9 0 即将发布 仅初始化 https devblogs microsoft com dotnet welcome
  • 在R中用渐变比例填充多边形

    我想创建一个仪表来可视化一个变量对另一个变量是否有或多或少的影响 我构建了一个函数来绘制仪表 并用 3 种不同的颜色填充它 gg gauge lt function pos breaks c 0 33 66 100 determinent
  • 使用 --allow-releaseinfo-change 进行 apt-get update 的缺点

    参考这个issue https stackoverflow com questions 68802802 repository http security debian org debian security buster updates
  • 如何将二维指针数组作为 const 传递?

    如果我创建一个二维指针数组并将其传递给一个函数 int main int array 2 2 int a 5 int b 10 array 0 0 a array 1 1 b test array 我如何定义这个函数以使以下 3 个语句都不
  • c++/cli 接口重写的显式实现

    我有两个接口 public interface I1 A MyProperty get set public interface I2 I1 new B MyProperty get set 在 C 中 我可以像这样显式实现 public