代码之家  ›  专栏  ›  技术社区  ›  dgamma3

无法转换类型“System”。操作“到”系统。动作<对象>'[重复]

  •  1
  • dgamma3  · 技术社区  · 7 年前

    我想知道我是如何做到这一点的?

    Action<int>  test = (val) => Console.WriteLine("I am " + val);
    Action<object> test2 = (Action<object>) test;
    

    代码: https://dotnetfiddle.net/rZYvLZ

    我之所以需要这样做,是因为我正在创建一个类,该类将需要支持许多(数千)操作委托参数类型

    1 回复  |  直到 7 年前
        1
  •  3
  •   Patrick Hofman Wahid Bitar    7 年前

    好吧,你可以总结第一个动作:

    Action<object> test2 = (object o) => test((int)o);
    

    但我认为这不需要太多解释,这是一件非常不安全的事情。因此,与其破坏类型安全性,不如想出一个更好的设计,尊重类型安全性。

    推荐文章