比方說,我有一個類的公共屬性裏面,像這樣:使用類型T'的變量設置類型T的屬性,並在設置器中處理轉換?
class Data
{
public int Property { get; set; }
}
現在,出於某種原因,我想爲一個字符串傳遞給這個屬性。我可以在通過它之前將字符串轉換爲Int32
,但懶惰更容易。是否有可能更改setter以便轉換自動完成?如在:
if (value is string) Property = Int32.Parse(value);
當然,這個例子不起作用。 VS拋出一個錯誤,並加上一個關於值如何永遠不會是字符串的警告。
編輯:是的,我知道這是一個壞主意。這只是好奇心。
不,那是不可能的。這也不是一個好主意。 – SLaks
我從來沒有說過這是個好主意,而是純粹的好奇心。 – pikzen
爲了確保我理解你的問題,你意識到'value'在setter中永遠不會是'int',但是你希望能夠將任何值傳遞給'Data.Property'並處理轉換事後,而不是先驗*?你的意思是使用'object'嗎? – user7116