private static void CSharpFeature1() { //隐式接口实现 IMarketProvider marketProvider = new HKMarketProvider(); HKMarketProvider hkMarketProvider = new HKMarketProvider(); marketProvider.Order(); hkMarketProvider.Order(); //因为显式接口约束,SZMarketProvider无法直接方法接口方法,只能通过接口访问 //SZMarketProvider szMarketProvider=new SZMarketProvider(); //szMarketProvider.Order(); IMarketProvider IszMarketProvider = new SZMarketProvider(); IszMarketProvider.Order(); }
private static void CSharpFeature2() { //匿名方法 Task.Run(() => { Console.WriteLine("Lambda的方式调用匿名方法"); }); Task.Run(delegate(){ Console.WriteLine("委托的方式调用匿名方法"); }); //泛型方法 HKMarketProvider hkMarketProvider = new HKMarketProvider(); SZMarketProvider szMarketProvider = new SZMarketProvider(); VIPInvestmenter vipInvestmenter = new VIPInvestmenter(); GeneralInvestmenter generalInvestmenter = new GeneralInvestmenter(); hkMarketProvider.CostCalculation <VIPInvestmenter>(vipInvestmenter); szMarketProvider.CostCalculation <VIPInvestmenter>(vipInvestmenter); hkMarketProvider.CostCalculation <GeneralInvestmenter>(generalInvestmenter); szMarketProvider.CostCalculation <GeneralInvestmenter>(generalInvestmenter); //协变 List <VIPInvestmenter> vipInvestmenterList = new List <VIPInvestmenter>(); vipInvestmenterList.Add(new VIPInvestmenter()); IEnumerable <Investmenter> investmenters = vipInvestmenterList; foreach (Investmenter investmenter in investmenters) { investmenter.GetName(); } //逆变省略........ //迭代器 HKTradeDay hKTradeDay = new HKTradeDay(); foreach (string day in hKTradeDay) { Console.WriteLine("hk market trade day is " + day); } }