聲明方法的參數類型時,應儘可能指定最弱的類型,寧願要接口也不要基類。例如,若是要寫方法來處理一組數據項,最好是用接口(好比:IEnumerable<T>)聲明參數,而不要用強數據類型(好比list《T》)或者更強的接口類型(好比ICollection《T》或者IList《T》)。接口
由於若是參數爲弱類型,只要是實現了IEnumerable<T>接口的均可以做爲實參傳遞進來,可是若是指定的參數類型比較具體,好比List<T> 那就只能傳遞該類型的參數了。其餘的都不行。io