/// <inheritdoc cref="IDisposable.Dispose" /> public void Dispose() { TestStream?.Dispose(); TestIn?.Dispose(); TestOut?.Dispose(); TestError?.Dispose(); }
static void Main(string[] args) { //协变 TestOut <Derived> OD = () => { return(new Derived()); }; TestOut <Base> OB = OD; Base baseVar = OB(); //逆变 TestIn <Base> IB = (a) => { }; TestIn <Derived> ID = IB; ID(new Derived()); }