C#-从字符串转换为我的对象
在我的代码中,我加载一个文本文件并读取它,寻找特定的参数。在获取它们之后,我将它们保存为C#-从字符串转换为我的对象,c#,string,object,type-conversion,C#,String,Object,Type Conversion,在我的代码中,我加载一个文本文件并读取它,寻找特定的参数。在获取它们之后,我将它们保存为string,现在我需要将它们发送到一个set方法,该方法只获取MyProperties类型变量。(“MyProperties”是一个枚举类,接收参数的方法需要获取此类型的枚举) 所以我的问题是:如何将它们从string转换为MyProperties类型 正在读取文件: string input = File.ReadAllText("C:/avi/properties/" + propertiesFile)
string
,现在我需要将它们发送到一个set方法,该方法只获取MyProperties
类型变量。(“MyProperties”是一个枚举类,接收参数的方法需要获取此类型的枚举)
所以我的问题是:如何将它们从string
转换为MyProperties
类型
正在读取文件:
string input = File.ReadAllText("C:/avi/properties/" + propertiesFile);
在获得所需的参数后,我将其保存在名为mode
的字符串中
string mode; // ---> Needs to be "MyProperties mode;"
vpa.Set(MyProperties.Mode, mode);
像检查if(mode.equals(“string”))
或“switch”这样的解决方案太长,因为有很多东西需要检查。在另一篇文章中找到了答案,这就是我使用的:
TypeConverter converter = TypeDescriptor.GetConverter(type);
MyProperties prop = (MyProperties)converter.ConvertFrom(mode);
也许可以研究某种形式的序列化,比如XML或JSON,这是反序列化,而不是转换。除非通过转换
你实际上是指调用属性设置,你能告诉我们如何“将它们保存为字符串”吗?模式是枚举吗?@MongZhu我编辑了这个问题。很高兴看到你找到了解决方案。这就是我想要的。。。知道对象的类型(在本例中是一个特定的枚举)可以更容易地了解如何从字符串转换为该对象类型。伟大的发现!好吧,我完全误解了你。你找到了很好的解决方案。我的目标是设置对象中属性的值。我不知道您实际上已经有了这个方法来设置值。您需要将字符串转换为枚举。很酷,你找到了解决办法