原创 設計模式-行爲設計模式:迭代器模式 Iterator

迭代器模式:提供一種遍歷的方式,讓我們的整個數據集合能夠被外界遍歷 只要你是需要遍歷的東西,都需要迭代器模式 看代碼  迭代器 public class DieDai { private List<int> i

原创 初涉Linq

namespace Linq { public class Student { public int Id{get;set;} public string Name{get;set;}

原创 配置文件+反射 創建對象

用戶類 public class User { public User() { Console.WriteLine("User被創建"); } } 配置文件

原创 擴展方法 Extend

擴展方法,可以在我們不修改原類的情況下,可以從外部給它注入一個方法,添加一個行爲 需要注意是,擴展方法中 類和方法必須都是靜態,並且在參數前面需要加入this關鍵字 即可通過  參數.方法()  方式進行調用 應用:對第三方空間擴展的時

原创 asp.net 泛型、泛型約束

開篇先說一下泛型的優點 1、可以通過一個方法實現多種參數的調用 2、性能無損失 3、生命方法的時候沒有指定類型,調用的時候指定,這就是一種延遲 泛型的創建舉例 泛型方法 public static void Show<T>(T t

原创 設計模式-行爲性設計模式:訪問者模式 Visitor

訪問者模式 關注的是如何對一個集合的成員進行訪問 描述了對不同的成員,不同的訪問當時,還有不同的處理放生,不同的前置條件 使用場景:把一羣if else 封裝起來 優點:可以隨意添加訪問者(Clothes類) 缺點:People類這一層

原创 泛型+反射 實現泛型向數據庫插入信息類 並返回插入數據的Id值

static string conStr = @"server=.;database=a;uid=sa;pwd=a;"; /// <summary> /// ExecuteScalar /// </summ

原创 asp.net 泛型的 協變與逆變

協變與逆變就是爲了在聲明一些接口的時候,可以增強他們的適用面 其中 out T 只能用於返回值泛型參數          in T 只能用於傳入參數 舉例說明 如 創建2個類 public class People {

原创 系統自帶委託應用 Action Func

//系統自帶委託分2種 //1、Action 帶參數 無返回值委託 //2、Func 帶參數 有返回值委託 //Action 無參數 Act

原创 反射 新增知識點

1、反射可以直接創建方法 //dll名稱+類型 Activator.CreateInstance("HomeWork1","HomeWork1.User"); 2、不一定遇到反射 就要用Assembly 來讀取dl

原创 設計模式-行爲設計模式:備忘錄模式 Memento

備忘錄模式就是給現在的情況做一下備份,以便後期找回操作 Lol類 [Serializable] public class Lol { //英雄名稱 public string Name;

原创 設計模式-行爲性設計模式:策略模式 Strategy

策略模式 就是把業務邏輯和算法分開 好處:可以額外添加一些處理,屏蔽客戶端對算法的依賴 缺點:上端必須知道所有的算法,並負責選擇算法 構成:一個策略環境 一個抽象策略和一大堆子策略 下面模擬一個簡單計算器的代碼 抽象策略代碼 pub

原创 設計模式-行爲性設計模式 狀態模式 State

狀態模式 一個對象 隨着外部的調用,自身會改變自身的狀態,狀態變化後可以展示出不同的行爲 節點進行自我管理 一個燈父類 還有一個枚舉燈顏色 public enum Dengys { Hong,

原创 C# 反射-不需要接口約束,調用各種方法

反射優缺點 優點:動態 缺點: 1、避開編譯器檢查,在有錯誤的情況下,在編譯的時候不會報錯,只有運行的時候纔會報錯 2、用起來不只管,不方便 3、性能有損失 調用實例方法 創建一個實例方法 namespace DoSomeThing

原创 設計模式-行爲設計模式:觀察者模式 Observer

觀察者模式,就是某件事發生之後,會起連鎖反應,發生一系列的事 通知接口 public interface INotify { void Notify(); } 觀察者類 public class Tea