类型转换器模仿ReSharper风格的智能感知

本文关键字:风格 智能 感知 ReSharper 类型转换 转换器 类型 | 更新日期: 2023-09-27 18:19:25

在webforms中,我有时会创建这样的控件:

public class Test:WebControl
{
    public Test()
    {
        Opts = new Options();
    }
    public Options Opts { get; set; }
}
public class Options
{
    public string Test { get; set; }
}

在标记中使用此控件时,我可以对Options中的属性进行智能感知。输入:

 <example:Test runat="server" Opts-Test="A" />

我一直认为这是visual studio的默认功能,但事实证明这是ReSharper的一个功能。我相信我可以通过创建一个非常复杂的自定义类型转换器来模拟这种功能,但是Resharper能够提供对这些属性的访问,而不需要我编写任何自定义代码。

什么代码可以解决这个问题?

类型转换器模仿ReSharper风格的智能感知

WebControls反编译后。样式看起来就像你需要做的是:

[TypeConverter(typeof(ExpandableObjectConverter))]
public class Options