c#中的编译错误CS0120
本文关键字:错误 CS0120 编译 | 更新日期: 2023-09-27 18:09:25
我尝试将包含十六进制代码的字符串转换为颜色。我有以下代码:
CQ currCQ = new CQ();
string color_startBorderMC = null;
color_startBorderMC = currCQ._color_MCBorder; //returns string! e.g. #ff00ff
Color _startBorderMC_color = new Color();
_startBorderMC_color = ColorConverter.ConvertFromString(color_startBorderMC); //error
如果我写一个方法来获取颜色字符串,我仍然得到相同的错误:
非静态字段、方法或属性'System.ComponentModel.TypeConverter.ConvertFromString(string)'需要对象引用
获取颜色字符串的方法如下:
internal string getMCBorderColor()
{
return this._color_MCBorder;
}
我的对象CQ有以下定义:
public class CQ
{
public string _color_mostcriticallBorder {set; get; };
}
如何修复这个错误?
为了访问方法ConvertFromString
,您需要创建ColorConverter
类的实例
CQ currCQ = new CQ();
string color_startBorderMC = null;
color_startBorderMC = currCQ._color_MCBorder; //returns string! e.g. #ff00ff
Color _startBorderMC_color = new Color();
ColorConverter converter = new ColorConverter();//create an instance of ColorConverter.
_startBorderMC_color = converter.ConvertFromString(color_startBorderMC);
有关更多信息,请参阅此MSDN文档。