我为一个属性创建了一个编辑器。
但是,我想将一些参数传递给编辑器的构造函数,但我不确定如何执行此操作。
FOO _foo = new foo();
[Editor(typeof(MyEditor), typeof(UITypeEditor))]
public object foo
{
get { return _foo; }
set {_foo = value;}
}
~
class MyEditor: UITypeEditor
{
public override object EditValue(System.ComponentModel.ITypeDescriptorContext context, System.IServiceProvider provider, object value)
{
//some other code
return obj;
}
}
最佳答案
当然,您可以向 myEditor 类添加另一个(参数化的)构造函数,如下所示:
public class MyEditor: UITypeEditor
{
// new parametrized constructor
public MyEditor(string parameterOne, int parameterTwo...)
{
// here your code
}
...
...
}
问题是您还应该控制谁调用该构造函数,因为只有这样您才能决定使用哪个构造函数,并且您可以为参数指定/分配值。
关于c# - 如何将参数传递给继承 UITypeEditor 的类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7456738/