Esempio n. 1
0
        public void Test2()
        {
            // Instantiate the delegates with the methods.
            DCovariant <Control> dControl = SampleControl;
            DCovariant <Button>  dButton  = SampleButton;

            // You can assign dButton to dControl
            // because the DCovariant delegate is covariant.
            dControl = dButton;

            // Invoke the delegate.
            dControl();
        }
Esempio n. 2
0
        public void TestVariance()
        {
            DInvariant <string> dinString = () => "";
            //DInvariant<object> dinObject = dinString;

            DCovariant <string> dcoString = () => " ";
            DCovariant <object> dcoObject = dcoString;

            DContravariant <object> dcontraObject = (a) => Console.WriteLine(a);
            DContravariant <string> dcontraString = dcontraObject;

            DVariant <object, string> dObjectString = (a) => $"{a} ";
            DVariant <object, object> dObjectObject = dObjectString;
            DVariant <string, string> dStringString = dObjectString;
            DVariant <string, object> dStringObject = dObjectString;
        }