簡體   English   中英

使用System.Type進行強制轉換 - c#

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM