Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过对象的成员读入对象';名字?_C#_Io - Fatal编程技术网

C# 如何通过对象的成员读入对象';名字?

C# 如何通过对象的成员读入对象';名字?,c#,io,C#,Io,如何从文本文件中通过对象成员变量的名称读入对象?例如,我有一个具有X、Y、Z属性的类点。而且我能读到一点 Z = 1; X = 2; Y = 3; 或者现有的图书馆也可以做类似的事情吗 我想我可以使用控制台读取一行或多行,然后解析这些行。是否有任何模式或通用模板,我可以使其自动用于任何类。如果您可以更改对象以文本表示的方式(正确的术语是序列化的),我会说与自定义序列化格式最接近的标准化序列化格式是 例如,对象将按如下方式序列化: Point: Z: 1 X: 2 Y: 3

如何从文本文件中通过对象成员变量的名称读入对象?例如,我有一个具有X、Y、Z属性的类点。而且我能读到一点

 Z = 1; X = 2; Y = 3;
或者现有的图书馆也可以做类似的事情吗


我想我可以使用控制台读取一行或多行,然后解析这些行。是否有任何模式或通用模板,我可以使其自动用于任何类。

如果您可以更改对象以文本表示的方式(正确的术语是序列化的),我会说与自定义序列化格式最接近的标准化序列化格式是

例如,对象将按如下方式序列化:

Point:
   Z: 1
   X: 2
   Y: 3
还有一个名为.NET的序列化器/反序列化器

否则,我将使用JSON:

{ z: 1, x: 2, y: 3 }

…可以使用知名的成熟库进行反序列化。

现在还不清楚“通过…”阅读要点”的含义。请给出一个更完整的示例,说明您正在尝试做什么。Json和XML是两种标准的数据写入和读取方式(序列化)。听起来好像您正在尝试从文本文件反序列化一个对象(或者只是逐行读取每个“对象”)。如果是这样,请关闭您的问题并查找反序列化。这个网站上有很多C#示例以及web上的教程都可以做到这一点。我假设你想做:
pointInstance.GetType().GetProperty(propNameFromTextFile).GetValue(pointInstance,null)
。可能是重复的,只需在JSON链接中浏览一些示例即可。它很容易使用。它包括版本控制吗?谢谢。@user1899020不,只是序列化而已