-1
我想爲Object
中的所有decimal
字段設置默認值。方法做它看起來像這樣:將類型轉換爲myType
private Type SetAllFieldsAsDefault(Type register)
{
var fields = register.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
foreach (var field in fields)
{
if (field.FieldType != typeof(double)) continue;
field.SetValue(field, 0);
}
return register;
}
我嘗試後鑄造myType
,但它不工作
myType = (MyType)SetAllFieldsAsDefault(myType.GetType());
我該怎麼辦呢?
你不給它實際的對象設定值到和你只返回一個'Type'。它不能投射到你擁有的實際物體上。 'SetValue'應該有實際的對象作爲第一個參數。 –
我不知道這段代碼期望做什麼。您不能在類型上設置實例值。而'field.SetValue(field,0)'完全是錯誤的。請參閱[文檔](https://msdn.microsoft.com/en-us/library/6z33zd7h(v = vs.110).aspx) – Amy