[英]Casting using System.Type - c#
是否可以使用System.Type?
將對象System.Type?
轉換為所需類型System.Type?
作為參考?
我有一個搜索,普遍的共識是否定的,雖然我希望在C#4.0中引入一些可以幫助我的輔助工具。
即下面的內容不起作用,但偽代碼就是我想要的。
object o = null;
var t = typeof(string);
...
string foo = (t)o;
編輯:我需要使用XmlSerializer
重建/反序列化為存儲在t
的類型
看一下:
var foo = Convert.ChangeType(o, typeof(string))
這沒有意義。
鑄造根本不會改變對象; 它只是讓你在編譯時使用對象作為給定的類型。
如果您不知道在編譯時將其轉換為什么類型,則轉換是無用的,因為它不會讓您對轉換表達式執行任何操作。
不需要施放。 對象不會改變,“鑄造”時您的引用類型(變量)會發生變化。
我想你正在尋找類似System.ChangeType()的東西。 如果類型實現了IConvertible ,並且它可以轉換為所需類型(當然這不是強制轉換) ,則此方法有效
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.