我有我的數據庫中的幾個表,他們都包含不同的繼承類型的DataRow。輸入:如何傳遞類型?
此外,我有一個類應該是我的DataGrid (我的數據庫表連接到DataGrids)處理一些事情。
爲了做到這一點,此DataGrid處理程序中的一個方法必須將行轉換爲DataRow的確切繼承類型。
這樣的事情: (TempDataRow as DataRowTypeThatInheritsFromRegularDataRow).SpecialParameter = something;
爲了做到這一點,我必須通過繼承的DataRow類型的方法,所以它會知道如何做鑄造。
該方法一般如下所示:
公共無效的doSomething(DataRowType型) { (TempDataRow爲類型).SpecialParameter =東西; }
如何傳遞類型? 常規「類型」類型不能編譯。 如果我只傳遞'DataRow',它將不知道如何進行投射。
無關的寵物peeve:'(SomeType爲SomeType).Dereference'是壞的。對於NullReferenceException,您正在交易InvalidCastException,這是一種信息丟失。使用'((SomeType)something).Dereference'。 – 2010-10-07 13:08:22