2013-10-31 49 views
0

因此,基本上。我不知道是否有可能(如果是這樣),實際上直接在C#代碼中將類轉換爲字符串?基本上,這個類中的所有東西都會變成一個字符串。將類轉換爲字符串

這有點短,但我不知道如何更清楚地說出來。

+7

你想看看[序列化](http://msdn.microsoft.com/en-us/library/vstudio/ms233843.aspx)。 –

+0

XML序列化教程:http://support.microsoft.com/kb/815813 –

+0

但它不是一個XML文檔,而是一個C#類? –

回答

1

如果你想它序列化到字符串中,你可以使用我所描述here

+0

但正如我在我的問題中所述。我正在使用C#,並且我似乎無法訪問Visual Studio中的JavaScriptSerializer。 –

+0

將'System.Web.Extensions'庫導入到您的項目中。 –

+0

我明白了......但是你並沒有真正解釋如何實際把它放入一個字符串中,這是問題的全部。我很感謝你的幫助! –

0

JavaScriptSerializer

using System.Web.Script.Serialization; // To access add reference to System.Web.Extensions 


var thing = new Thing(); 
var json = new JavaScriptSerializer().Serialize(thing); 

反序列化過程。如果你想獲得您的類的每一個字,你不能。 C#編譯爲.Net IL Code。像dotPeek或JustDecompile這樣的反編譯器會將IL轉換回可讀的C#代碼,即使可以這樣做,代碼仍然看起來不像原始代碼,因爲編譯器會執行優化以使其運行速度更快。

但是,您可以使用序列化,例如,如果您需要通過網絡發送您的課程或將其保存到磁盤。下面是XML序列化的一個例子:

public class Number 
{ 
    public int I { get; set; } 
} 

XmlSerializer serializer = 
      new XmlSerializer(typeof(Number)); 

     Number number = new Number(); 

     StringBuilder stringBuilder 
      = new StringBuilder(); 

     serializer.Serialize(
      new StringWriter(stringBuilder), number); 

糾正我,如果我錯了任何這一點。