我試圖做很多實用功能是這樣的:如何使用反射來處理所有類型?
public bool HasMember(object obj, string name)
{
etc.
}
的名字和這個特殊的效用函數的含義是不相關的。
不幸的是,上面的功能無法處理所有類型,例如日期時間或十進制其是結構。它很好地處理整數和自定義對象。我明白c#有結構和對象,struct不是一個對象。但是,我如何處理我實用方法中的所有類型?最好是沒有重載方法,因爲需要很多實用功能。
以前的研究:
語言參考並沒有給我的建議是:https://docs.microsoft.com/en-us/dotnet/articles/csharp/programming-guide/classes-and-structs/using-structs
而且與文本解釋值類型沒有幫助:https://docs.microsoft.com/en-us/dotnet/articles/csharp/language-reference/keywords/value-types
「不能處理所有類型的」 - 爲什麼不呢?沒有什麼東西可以從你向我發出的少量代碼中明顯看出來,「這對'DateTime'不起作用。」你可以發佈一個*完整*代碼示例來演示一個問題? –
好的,現在我明白了。結構從類繼承調用的ValueType從對象繼承(!):[此處是鏈接到MS的網站參考](https://msdn.microsoft.com/en-us/library/system.valuetype(V = vs.110 )的.aspx) – iltelko
* 「結構是不是對象」 * *** ***一切都在C#中是一個對象! –