0
由於方法Add()將Object作爲參數,我可以添加例如datatables,然後取消它們?拆箱組合框項目
例如:
cmbEmpresa.Items.Add(dt1);
cmbEmpresa.Items.Add(dt2);
cmbEmpresa.Items.Add(dt3);
然後像做:
datagrid.datasource=(DataTable)cmbEmpresa.SelectedItem;
編輯:
和什麼有關添加不同類型的對象,我怎麼能他們根據拆箱SelectItem的原始類型?
如果我添加不同類型的對象,例如DataTable和DataSet,如何根據對象的原始類型對它們進行取消操作? – Luiscencio 2010-03-10 21:32:49
您可以使用GetType方法和typeof運算符來確定原始類型是什麼,然後相應地進行投射。 if(myObject.GetType()== typeof(string)){//投射到一個字符串並使用它。另一種方法(特別是如果只有很少的選擇是使用As運算符,如果它已經是該類型,則將該對象轉換爲特定類型,否則返回null,例如string s = myObj as String; if(s!= null){//使用它作爲字符串 – 2010-03-10 21:38:33
使用反射來檢查一個轉換是否有效'.GetType()== typeof(blah)'不會正確處理繼承。 'as'或'is'運算符,請看'Type.IsAssignableFrom'(http://msdn.microsoft.com/en-us/library/system.type.isassignablefrom.aspx)方法。 – 2010-03-10 21:46:34