在运行时实现接口

2023-12-11

是否可以使已编译的类在运行时实现某个接口,例如:

public interface ISomeInterface {
    void SomeMethod();
}

public class MyClass {
    // this is the class which i want to implement ISomeInterface at runtime
}

这可能吗,如果是的话怎么办?


好吧,差不多了。您可以使用即兴界面。

https://github.com/ekonbenefits/impromptu-interface

基本示例来自https://github.com/ekonbenefits/impromptu-interface/wiki/UsageBasic :

using ImpromptuInterface;

public interface ISimpleClassProps
{
  string Prop1 { get;  }
  long Prop2 { get; }
  Guid Prop3 { get; }
}

var tAnon = new {Prop1 = "Test", Prop2 = 42L, Prop3 = Guid.NewGuid()};
var tActsLike = tAnon.ActLike<ISimpleClassProps>();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在运行时实现接口 的相关文章

  • 在一个数据访问层中处理多个连接字符串

    我有一个有趣的困境 我目前有一个数据访问层 它必须与多个域一起使用 并且每个域都有多个数据库存储库 具体取决于所调用的存储过程 目前 我只需使用 SWITCH 语句来确定应用程序正在运行的计算机 并从 Web config 返回适当的连接字
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 传递给函数时多维数组的指针类型是什么? [复制]

    这个问题在这里已经有答案了 我在大学课堂上学习了 C 语言和指针 除了多维数组和指针之间的相似性之外 我认为我已经很好地掌握了这个概念 我认为由于所有数组 甚至多维 都存储在连续内存中 因此您可以安全地将其转换为int 假设给定的数组是in
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 使用 C# 中的 CsvHelper 将不同文化的 csv 解析为十进制

    C 中 CsvHelper 解析小数的问题 我创建了一个从 byte 而不是文件获取 csv 文件的类 并且它工作正常 public static List
  • WcfSvcHost 的跨域异常

    对于另一个跨域问题 我深表歉意 我一整天都在与这个问题作斗争 现在已经到了沸腾的地步 我有一个 Silverlight 应用程序项目 SLApp1 一个用于托管 Silverlight SLApp1 Web 的 Web 项目和 WCF 项目
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 如何在 Android 中使用 C# 生成的 RSA 公钥?

    我想在无法假定 HTTPS 可用的情况下确保 Android 应用程序和 C ASP NET 服务器之间的消息隐私 我想使用 RSA 来加密 Android 设备首次联系服务器时传输的对称密钥 RSA密钥对已在服务器上生成 私钥保存在服务器
  • 指针和内存范围

    我已经用 C 语言编程有一段时间了 但对 C 语言还是很陌生 有时我对 C 处理内存的方式感到困惑 考虑以下有效的 C 代码片段 const char string void where is this pointer variable l
  • Mono 应用程序在非阻塞套接字发送时冻结

    我在 debian 9 上的 mono 下运行一个服务器应用程序 大约有 1000 2000 个客户端连接 并且应用程序经常冻结 CPU 使用率达到 100 我执行 kill QUIT pid 来获取线程堆栈转储 但它总是卡在这个位置
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • 从 Python 脚本中请求 UAC 提升?

    我希望我的 Python 脚本能够在 Vista 上复制文件 当我从正常运行它时cmd exe窗口中 不会生成任何错误 但不会复制文件 如果我跑cmd exe 以管理员身份 然后运行我的脚本 它工作正常 这是有道理的 因为用户帐户控制 UA
  • 不启动回发

    我在 JBoss AS 7 1 1 上使用 JSF 2 1 7 和 Myfaces CODI 1 0 5 我的
  • 如何在画布上分层绘制图像?

    我有一个我使用的画布drawImage将一堆图像绘制到画布上 我想要的结果是 我希望我绘制的第一个图像位于第 1 层 下一个图像位于第 2 层 依此类推 到底发生了什么 图像被放置在随机层上 const images https attef
  • 如何更改表情符号的颜色?

    我有一个表情符号 我希望它是白色的 但是当我运行程序时它显示为红色 如何将其更改为白色 rating text rating textColor UIColorRGB ffffff The 以下答案解释了为什么您无法更改表情符号字符的颜色
  • 获取自定义控件的ID

    我有一个相当复杂的自定义控件 可以在任何给定的 XPage 上多次使用该控件 在控件中 我创建了几个 viewScope 变量 这些变量对于特定的自定义控件来说必须是唯一的 我想做类似 viewScope put customControl
  • Joomla 3 - 使用什么来代替 allocateRef?

    在我的项目中 我认为有这种方法 public function elegirSeleccionados this gt assignRef pagination this gt get pagination this gt assignRe
  • 根据概率选择获胜者的随机数

    想象一下 您有一组代表竞争对手及其获奖概率的哈希值 0 到 1 之间的浮点数 喜欢 name gt Adam prob gt 0 5 name gt Ben prob gt 1 0 name gt Chris prob gt 0 1 nam
  • 关于国家/地区更改 Ajax 更新 Woocommerce 中运输的结帐

    我正在寻找一种当客户在结帐页面上更改国家 地区时更新订单审核 运费 的方法 我想使用 jQuery 但wc checkout paramswc checkout params 已弃用 function custom checkbox che
  • 为 Qt5 指定 OpenGL 桌面而不是 ES

    我终于尝试使用着色器来理解着色器tutorial我发现 我决定从 Qt5 Windows 开始 因为我熟悉它并且可以专注于学习 GLSL 本身 我正在做的事情和教程之间的唯一区别是我正在使用QOpenGLWidget而不是一个QOpenGL
  • HttpResponse.getEntity() NetworkOnMainThreadException [重复]

    这个问题在这里已经有答案了 可能的重复 网络主线程异常 很长一段时间以来 我一直在使用通用代码来执行 http 请求AsyncTask The AsyncTask返回一个HttpResponse目的 一切都运行良好 GUI 线程从未冻结或出
  • ecs-cli 使用负载均衡器组成服务

    我正在尝试使用 ecs cli compose 来管理 Amazon ECS 上的服务和任务 我无法找到使用的方法service up命令使用应用程序负载均衡器创建新服务 即使该负载均衡器已存在 这似乎可以与service create 但
  • Windows Phone - Phonegap 推送通知 - 注册我的设备后无法获取 URI

    我在用推送插件在我的 wp8 的 cordova phonegap 应用程序中 我自动安装了插件 cordova plugin add https github com phonegap build PushPlugin git 当我的设备
  • 将 typeahead.js 输出到多个文本框中

    我正在为我的公司开发一个内部 Web 表单 我试图使用 typehead js 从本地数组加载名称 我能够毫无问题地执行此操作 但是任务的第二部分是当在第一个文本框中选择员工姓名时 将该员工的 ID 放入第二个文本框中 我无法成功地将值输出
  • jQuery 存储和检索表单状态(带数据)

    有什么方法可以将表单状态存储在例如 cookie 中并检索它吗 我检查了序列化API但我不知道如何检索表单上的序列化数据 是否可以 Update 我把我的代码here 检查 End of cookie 插件后的 javascript 代码
  • 解决“找不到资源”的问题。错误

    我有一个 MVC 3 应用程序 其中内置了几个区域 其中一个区域是我网站的管理部分 一切都工作得很好 我想尝试 MvcContrib Portable Areas 以使我的应用程序更加模块化 因此我安装了 MvcContrib 经过一番尝试
  • 实体框架 4 / POCO - 从哪里开始? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我已经编程了一段时间 并且之前使用过 LINQ To SQL 和 LINQ To Entities 尽管在使用实体时它一直处于实体 表 1 1 关系上 即与 L2SQL 没有太大区别
  • Pebble 手表开发教程中的这个点语法是什么意思? [复制]

    这个问题在这里已经有答案了 我在 Pebble 手表应用程序开发教程中遇到了以下代码 Set handlers to manage the elements inside the Window window set window handl
  • 我可以检测窗口是否部分隐藏吗?

    是否可以检测我的外部程序的窗口是否 1 完全可见 2 部分隐藏或 3 完全隐藏 如果窗口 基于检索到的句柄 不可见 我希望能够告诉我的应用程序不要执行任何操作 我不关心窗口是否有焦点 z 顺序是什么 或者其他什么 我只关心窗口显示了多少 如
  • 使用 Amazon API MWS 进行签名查询

    我正在尝试向卖家亚马逊网络服务 MWS 提出签名请求 我正在使用这里的脚本 将亚马逊 MWS 暂存器查询转换为 API 调用 但我不知道为什么会出现错误 我们计算的请求签名与您提供的签名不匹配 请检查您的 AWS 秘密访问密钥和签名方法 有
  • 在运行时实现接口

    是否可以使已编译的类在运行时实现某个接口 例如 public interface ISomeInterface void SomeMethod public class MyClass this is the class which i w