为了账号安全,请及时绑定邮箱和手机立即绑定

需要访问其分配类的扩展方法的动态变量

需要访问其分配类的扩展方法的动态变量

C#
海绵宝宝撒 2021-10-23 16:21:56
例如,如果我有一个扩展方法,例如:public static void StringExtensionTest(this string stringer) { MessageBox.Show("This is just a test for stackoverflow"); }使用简单的测试代码,例如:private void button1_Click(object sender, EventArgs e){    string overflow = "Only a test";    dynamic overflowed = "Only a test";    overflow.StringExtensionTest();    overflowed.StringExtensionTest();}我怎样才能让 overflowed.StringExtensionTest() 工作?在这个例子中,我不想使用明显的字符串转换。后面在实际项目中,我会有多个不同类型的对象,我将它们分配给一个动态变量,并调用我添加到所有这些类中的公共扩展方法。
查看完整描述

2 回答

?
www说

TA贡献1775条经验 获得超8个赞

如果每个可能类型的扩展方法都定义在同一个类中,那么您可以将其作为静态方法调用:

SomeClass.StringExtensionTest(overflow);

否则,扩展方法在dynamic. 扩展方法将方法添加到可能找到的方法集中,具体取决于调用所在的 C# 文件中使用的命名空间。在运行代码中没有与命名空间或 C# 文件等效的方法。


查看完整回答
反对 回复 2021-10-23
  • 2 回答
  • 0 关注
  • 137 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信