C#泛型代理泛型接口泛型类型泛型方法

Posted 许明会的计算机技术主页

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#泛型代理泛型接口泛型类型泛型方法相关的知识,希望对你有一定的参考价值。

//http://www.cnblogs.com/JeffreySun/archive/2012/11/14/2770211.html
//http://www.baqima.com/a/2628.html
//http://www.cnblogs.com/yangqi/archive/2010/07/16/1778767.html
//http://www.cnblogs.com/TianFang/p/3928172.html

using System;
using System.Threading;

namespace Demo
{
    public delegate T3 MyDelegate<T1, T2, T3> (T1 t1, T2 t2);

    interface MyInteface<T1, T2, T3>
    {
        T1 DoIT (T2 t2, T3 t3);
    }


    public class MyClass<T1, T2, T3> : MyInteface<T1, T2, T3>
    {
        public T1 DoIT (T2 t2, T3 t3)
        { 
            //throw new NotImplementedException ();
            T1 t1=default(T1);
            return t1;
        }
    }

    //primary constructor
    //public class User(string name, string password){}

    public class Demo
    {
        private static readonly float KaiFaQu_WuYeFei = 18.8f;

        public static float Pay (int PeopleCount, string Family)
        {
            float result = PeopleCount * KaiFaQu_WuYeFei;
            Console.WriteLine ($"Faimily:{Family} Pay fee {result:c}");
            return result;
        }

        static void Swap<T> (ref T t1, ref T t2)
        {
            T temp = t1;
            t1 = t2;
            t2 = temp;
        }


        public static void Main ()
        {
            String str1 = "abc", str2 = "efg"; 
            Swap<String> (ref str1, ref str2);
            Console.WriteLine ($"{str1}\\t{str2}");

            MyDelegate<Int32, String,float> FamXu = new MyDelegate<Int32, String,float> (Pay); 
            MyDelegate<Int32, string,float> FamLiujie = Demo.Pay;

            float MoneyXu = FamXu (4, "XU Minghui");
            float MoenyLiu = FamLiujie (3, "LiuJie");

            //
            MyClass<float,int,string> my =new MyClass<float,int,string>();
            float MoneyMu = my.DoIT (3, "Mu Jingyu");
            Console.ReadKey ();
        }
    }
}

以上是关于C#泛型代理泛型接口泛型类型泛型方法的主要内容,如果未能解决你的问题,请参考以下文章

C#泛型

unity的C#学习——泛型的创建与继承泛型集合类泛型中的约束和反射

c#基础泛型

C#泛型编程

C# 泛型

具有接口类型约束的 C# 泛型方法