首页 > 其他分享 >Memberinfo call generic method System.InvalidOperationException: 'Late bound operations cannot

Memberinfo call generic method System.InvalidOperationException: 'Late bound operations cannot

时间:2024-03-09 12:46:44浏览次数:26  
标签:operations Memberinfo methods mi static WriteLine MethodInfo Console GenericMeth

static void Main(string[] args)
{
    GenericMethod();
    LogInfo();
}

static void GenericMethod()
{
    MethodInfo mi = typeof(Program).GetMethod("Echo"); 
    Console.WriteLine(mi.IsGenericMethodDefinition); 
    Console.WriteLine(mi.Invoke(null, new object[] { 123 }));
}

public static T Echo<T>(T x)
{
    return x;
}

 

 

To remidy this issue,we must specify concrect types of generic methods.

  static void Main(string[] args)
  {
      GenericMethod();
      LogInfo();
  }

  static void GenericMethod()
  {
      MethodInfo mi = typeof(Program).GetMethod("Echo");
      MethodInfo intMi = mi.MakeGenericMethod(typeof(int));
      Console.WriteLine(intMi.IsGenericMethodDefinition); 
      Console.WriteLine(intMi.Invoke(null, new object[] { 123 }));
  }

  public static T Echo<T>(T x)
  {
      return x;
  }

 

 

The key located at specify concrete type

//MakeGenericMethod

MethodInfo intMi = mi.MakeGenericMethod(typeof(int));

  

标签:operations,Memberinfo,methods,mi,static,WriteLine,MethodInfo,Console,GenericMeth
From: https://www.cnblogs.com/Fred1987/p/18062529

相关文章

  • Laura and Operations
    观察样例,感觉可以从奇偶性来搞假设我们最后要保留数字\(1\)。我们每操作一次数字\(2\)和数字\(3\),他们两个的相对奇偶性不变;每操作一次数字\(1\)和数字\(3\),数字\(2\)和数字\(3\)的奇偶性也不变;每操作一次数字\(1\)和数字\(2\),数字\(2\)和数字\(3\)的奇偶性也不变也就是说无论我......
  • 理解LLMOps: Large Language Model Operations
    理解LLMOps:LargeLanguageModelOperations对于像我一样的小白来说,本文是一篇非常不错的LLMs入门介绍文档。来自:UnderstandingLLMOps:LargeLanguageModelOperations本文首先解释了新术语"LLMOps"及其背景,然后讨论使用LLMs和传统ML模型构建AI产品的不同之处,并基于这些......
  • [Rust] module with public and private methods
    Methods:modsausage_factory{//privatemethodfnget_secret_recipe()->String{String::from("Ginger")}//publicmethodpubfnmake_sausage(){get_secret_recipe();println!("sausage!&qu......
  • VMware Aria Operations for Logs 8.16 - 集中式日志管理
    VMwareAriaOperationsforLogs8.16-集中式日志管理请访问原文链接:https://sysin.org/blog/vmware-aria-operations-for-logs/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org集中式日志管理VMwareAriaOperationsforLogs(以前称为vRealizeLogInsight)通......
  • VMware Aria Operations 8.16 - 多云 IT 运维管理
    VMwareAriaOperations8.16-多云IT运维管理通过统一的高性能平台,实现跨私有云、混合云和多云环境的IT运维管理。请访问原文链接:https://sysin.org/blog/vmware-aria-operations/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org自动驾驶式IT运维管理VMwar......
  • Minimize OR of Remaining Elements Using Operations
    MinimizeORofRemainingElementsUsingOperationsYouaregivena 0-indexed integerarray nums andaninteger k.Inoneoperation,youcanpickanyindex i of nums suchthat 0<=i<nums.length-1 andreplace nums[i] and nums[i+1] withas......
  • both methods have same erasure, yet neither overrides the other
    泛型,作为JDK5时代引入的”语法糖“,在编译的时候是会被抹除的,换言之,specialSort(List<Dog>)和specialSort(List<Apple>)在编译时都会变成specialSort(List),因此不符合重载的原则(变量名相同、参数类型或数量不同)。参考:https://blog.csdn.net/m0_37676618/article/details/106714182......
  • Java代码审计-FileOperations
    常见文件读写常见文件读写方式通过FileInputStream读取文件并使用FileOutputStream写入另一个文件的测试方法通过BufferedInputStream读取文件并使用BufferedOutputStream写入另一个文件的测试方法通过BufferedReader读取文件并使用BufferedWriter写入另一个文件的测试方法......
  • 有状态转化操作WindowOperations
    WindowOperations可以设置窗口的大小和滑动窗口的间隔来动态的获取当前Steaming的允许状态。所有基于窗口的操作都需要两个参数,分别为窗口时长以及滑动步长。➢窗口时长:计算内容的时间范围;➢滑动步长:隔多久触发一次计算。注意:这两者都必须为采集周期大小的整数倍。obje......
  • vue-helper 点击跳转插件 在 methods里面互相调用函数,会产生两个函数definitions ,然后
    vue-helper点击跳转插件在methods里面互相调用函数,会产生两个函数definitions,然后就回弹出框让你选择原因:换了台电脑,又从新配置下vscode"editor.gotoLocation.multipleTypeDefinitions":"goto","editor.gotoLocation.multipleReferences":"goto","editor.got......