Outputs.RunParams.RunAlgorithm = Convert.ChangeType(AlgString,typeof(RunAlgorithmConstants));
我正在尝试将程序的运行参数设置为特定值,但AlgString是一个字符串,我需要它是RunAlgorithmConstants类型。作为字符串的AlgString是直接在前一个脚本中将类型RunAlgorithmConstants转换为字符串,将其保存到文本文件,从该文本文件中读取以及将文本设置为AlgString的结果。
当我运行此代码时,我收到此错误:
无法将类型'object'隐式转换为'RunAlgorithmConstants'。存在显式转换(您是否错过了演员?)
命名空间很好。我可以写
if (AlgString.Equals("Example1"))
{
Outputs.RunParams.RunAlgorithm = RunAlgorithmConstants.Example1
}
对于RunAlgorithmConstants可能存在的每个可能值,但我想知道是否有更简单的方法。
编辑:
int LineNumber = Inputs.LineNumber;
var lines = File.ReadAllLines(Inputs.LoadLocation);
string line = lines[LineNumber];
{char[] delimiterChars = {','};
string[] words = line.Split(delimiterChars);
words[30] = AlgString
答案 0 :(得分:1)
Enum.Parse正是您所寻找的:
Outputs.RunParams.RunAlgorithm = (RunAlgorithmConstants) Enum.Parse(typeof(RunAlgorithmConstants), AlgString);