簡體   English   中英

將內存中的POCO對象轉換為C#代碼進行初始化

[英]Convert in memory POCO objects to c# code to initialize

是否有用於將內存中的POCO c#對象轉換為創建該對象的.cs代碼文件的庫或代碼示例。 例如:內存中類型為car的對象變為:

Car c = new Car 
{ 
     Name = "mazda", 
     Id = 5,
     Passengers = new List<string> { "Bob", "Sally" }
     // etc... recursing to the bottom
};

我可以假設它只能設置公共屬性。

有一個Visual Studio擴展(OmarElabd / ObjectExporter),可在調試時生成C#初始化程序代碼。 我個人需要在運行時從內存中的對象生成C#代碼。 這是從原始問題演變而來的: https : //www.nuget.org/packages/ObjectDumper.NET/

ObjectDumper.Dump(obj,DumpStyle.CSharp); 從變量返回C#初始化代碼。 您可能只想使用File.WriteAllText方法將輸出字符串寫入文件。

我們已經使用二進制序列化將對象序列化到文件 ,但是對可讀的.CS文件沒有序列化

您可以使用Visual Studio T4代碼模板生成.cs文件。 您可以在本文中查看有關代碼生成工具的信息,並查看其是否在尋找。

您將需要設置一個部分代碼模板,並使您的庫函數寫出其余代碼模板,然后運行模板以生成用於創建POCO對象的.cs類。 不知道這是否是唯一的方法,但我可以看到它的有效性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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