2
我有一个属性网格输入的特殊情况,我需要在字符串格式下输入Vector3,比如说“0,5,1”。我内置的转换器,它是这样:如何在PropertyGrid TypeConversion中获取旧值?
public class Vector3Converter : ExpandableObjectConverter
{
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType)
{
return (sourceType == typeof(string));
}
public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value)
{
string[] splitted = ((string)value).Remove(" ").Split(new char[] { ',' });
return new Vector3(float.Parse(splitted[0]), float.Parse(splitted[1]), float.Parse(splitted[2]));
}
}
现在这个工作在某种程度上,但另一个原因(我不会打扰解释,这是令人难以置信的长,但合理的 - 我不能改变我的初步避免设计),我需要知道在设定新的设计之前(在某种程度上取决于它)之前,现场有什么价值。
我该怎么做?
我不幸地不能改变设计,很多约束只是使它不可能(我已经试了几个月)。但是这个黑客完美地工作。谢谢一堆! – Lazlo 2011-04-24 22:21:58