W kursie programowania funkcjonalnego coursera natknąłem się na subtelną koncepcję. Jeśli A2 <: A1 i B1 <: B2, następnie (A1 => B1) <: (A2 => B2) Uzasadnienie kiedy przekazujemy argument do A2 i ze wz
Załóżmy, że ma interfejs taki jak public interface IInterface<in TIn, out TOut> {
IInterface<TIn, TOut> DoSomething(TIn input);
}
TIn jest przeciwwskazania -variant i TOut jest współorganizato
Weź to mały przykład LINQPad: void Main()
{
Foo<object> foo = new Foo<string>();
Console.WriteLine(foo.Get());
}
class Foo<out T>
{
public T Get()
{
return default(T);