2
我已經制作了一個通用類,用於保存和查詢平面文件中的對象。我一直需要改變方法參數的對象,所以我可以投他們,我想知道如果我要對這個正確的方式...泛型類的Casting方法參數
「T」將始終以繼承「FlatFileRecord」
這並不編譯:
public class FlatFile<T>
{
public void Save(T record)
{
FlatFileRecord castedRecord = (FlatFileRecord)record;
castedRecord.RecordNumber...
}
}
這將編譯但似乎打敗一個強類型的泛型類的整點:
public class FlatFile<T>
{
public void Save(object record)
{
FlatFileRecord castedRecord = (FlatFileRecord)record;
castedRecord.RecordNumber...
}
}
我知道會有一個簡單的方法來做到這一點!我應該使用'where T:FlatFileRecord'來執行它。我想我需要閱讀更多關於泛型的內容...... – Tim 2010-01-19 09:54:07