我需要從System.Drawing.Color.FromKnownName將System.Drawing.Color.Red轉換爲「紅色」或「紅色」的相反功能。System.Drawing.Color ToKnownName
爲了提供示例代碼:
private static XElement BlipToXml(Blip blip)
{
var tmp = new XElement("Blip",
new XAttribute("X", blip.Position.X),
new XAttribute("Y", blip.Position.Y),
new XAttribute("Z", blip.Position.Z),
new XAttribute("color", blip.Color.), <-- This is where i need the ToKnownName
new XAttribute("transparency", blip.Alpha),
new XAttribute("sprite", blip.Sprite));
tmp.SetValue(blip.Name);
return tmp;
}
private static Blip XmlToBlip(XElement xml)
{
var x = float.Parse(xml.Attribute("X").ToString());
var y = float.Parse(xml.Attribute("Y").ToString());
var z = float.Parse(xml.Attribute("Z").ToString());
var coords = new Vector3(x,y,z);
var tmp = new Blip(coords);
tmp.Color = System.Drawing.Color.FromName(xml.Attribute("color").ToString());
tmp.Alpha = float.Parse(xml.Attribute("transparency").ToString());
tmp.Sprite = (BlipSprite)Enum.Parse(typeof(BlipSprite), xml.Attribute("sprite").ToString());
tmp.Name = xml.Value;
return tmp;
}
我不知道爲什麼'(KnownColor)Enum.Parse(typeof運算(KnownColor),blip.Color.ToKnownColor()'這裏行不通。 – Bluscream