关于学习C#泛型委托过程中发现的一些疑惑,大家一起讨论下
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于学习C#泛型委托过程中发现的一些疑惑,大家一起讨论下相关的知识,希望对你有一定的参考价值。
大家知道泛型委托Action,是定义一个没有返回值的委托。
例如:
public Action<int, int> AddAction = (x, y) => { Console.WriteLine(x+y); };
可以在Action上F12进入可以看到源码为:
public delegate void Action<T1, T2>(T1 arg1, T2 arg2);
这里发现一个问题,T1,T2是什么类型呢,在哪里定义的,我按F12并没有找到对应的类型。
之后我试着定义一个类似Action的泛型委托。
public delegate int Add<Hello, World> (Hello x, World y);
然后我定义一个Add<Hello,World>的泛型委托变量
public Add<int, int> Adddemo= (x, y) => { return x + y; };
居然不报错,且能调用。
这里问题来了,我输入的Hello,World的类型是在哪里定义的呢?大家来帮助回答下
以上是关于关于学习C#泛型委托过程中发现的一些疑惑,大家一起讨论下的主要内容,如果未能解决你的问题,请参考以下文章