C# 是否可以从调试模式获取字符串形式的对象?

C# 是否可以从调试模式获取字符串形式的对象?,c#,C#,为了测试一个类,我需要一些真实的虚拟对象。 我的问题是:在调试时,我可以将一个已经构造好的对象作为字符串吗?我想复制这个字符串并将其粘贴(分配)到测试类中的虚拟对象 public class Employee { public string Name; public int Age; public List<string> NamesOfChildren; } 公共类员工 { 公共字符串名称; 公共信息; 儿童公开名单; } 例如,对于调试模式下该类的实例

为了测试一个类,我需要一些真实的虚拟对象。 我的问题是:在调试时,我可以将一个已经构造好的对象作为字符串吗?我想复制这个字符串并将其粘贴(分配)到测试类中的虚拟对象

public class Employee
{
    public string Name;
    public int Age;
    public List<string> NamesOfChildren;
}
公共类员工
{
公共字符串名称;
公共信息;
儿童公开名单;
}
例如,对于调试模式下该类的实例,我需要一些字符串

新员工(){Name=“Serdar”,年龄=30,孩子的名字=new List(){“孩子的名字1”,“孩子的名字2”}


换句话说,在调试模式下,我可以看到对象的所有公共和私有字段及其值。我可以把这个数据作为字符串吗?我需要它以在编辑器中创建该对象的格式。(当然只有公共字段)

我不确定私有字段,但我相信Json.NET可以帮助您。您将不得不添加对象名称,但我相信您可以轻松地自动化此操作

您可以使用Nuget安装它: 安装软件包Newtonsoft.Json

有关更多信息,请访问:

以下是他们网站的一个例子:

Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Sizes = new string[] { "Small" };

string json = JsonConvert.SerializeObject(product);
//{
//  "Name": "Apple",
//  "Expiry": "2008-12-28T00:00:00",
//  "Sizes": [
//    "Small"
//  ]
//}
反序列化对象也有同样的想法:

string json = @"{
  'Name': 'Bad Boys',
  'ReleaseDate': '1995-4-7T00:00:00',
  'Genres': [
    'Action',
    'Comedy'
  ]
}";

Movie m = JsonConvert.DeserializeObject<Movie>(json);

string name = m.Name;
// Bad Boys
stringjson=@”{
“名字”:“坏男孩”,
“发布日期”:“1995-4-7T00:00:00”,
“流派”:[
“行动”,
“喜剧”
]
}";
Movie m=JsonConvert.DeserializeObject(json);
字符串名称=m.名称;
//坏小子

我不知道您的意思您的问题不清楚:D请尝试编辑并澄清您的问题:D作为文本文件中的字符串?serdar的意思是,在运行时给定一个.Net对象,您能否自动创建C#代码来构造一个具有类似值的新对象。@MattCruikshank thx,这正是我的意思