好像博问不能回复了,看似是某个脚本错误阻止了提交。可有此事?
針對問題:http://space.cnblogs.com/question/12190/
我有這樣一段回答,但始終發不上去:
如果可以的話,使用接口,比如:
interface INamed{
??????? string Name{get;set;}
}
class MyGenaric<T> where T: INamed, new() {
void Method(){
????????????????????? T t = new T();
?????????????????????? t.Name = "something else";//這里也可以向樓上說的,使用 as 進行類型轉換后賦值,而免去泛型定義時的接口申明。但這樣“編譯器”不能保證使用該類型的開發人員,其具體泛型實現了該接口。
?????????????????????? ...........
}
}
這種從我的眼光看要優雅一些。如果接口不能由你來設定,那么大概需要使用反射吧:
????????? T t = ...;
????????? Property name = t.GetType().GetProperty("Name");
????????? name.SetValue(t, "something else");
我的寫法肯定不對,但大概應該是這么個過程。
總結
以上是生活随笔為你收集整理的好像博问不能回复了,看似是某个脚本错误阻止了提交。可有此事?的全部內容,希望文章能夠幫你解決所遇到的問題。