我正在编写一个JavaScript类,并尝试使用Visual Studio 2013 intellisense将字段声明为特定的HTML元素。问题是,当我将字段设置为返回值时,它会将intellisense覆盖为返回类型值(即使我知道它是我将其设置为的XML类型)。
我想知道是否有办法防止自动覆盖字段类型。
这是一个人为的例子:
myClass = function myClass()
{
/// <summary>Dummy class to demonstrate intellisense type overriding</summary>
/// <field name="fieldDiv" type="HTMLDivElement">The thing under question</field>
fieldDiv = null;
};
myClass.prototype.myFunction = function myFunction()
{
this.fieldDiv; //Intellisense works correctly as if it was a div element
this.fieldDiv = getEl("myDiv"); //This breaks the intellisense
this.fieldDiv; //Intellisense now thinks it's a generic dom object
//I want it to think it's still a div element
};
我不介意在this.field = getEl("myDiv");
之后添加xml标记行。我真的很想要div上下文信息。
谢谢!
答案 0 :(得分:0)
有趣的是,它适用于我的VS2013。在第三行显示 HTMLDivElement 类型。 您可以尝试在 getEl 函数内添加返回类型签名。根据{{3}}(和具体的备注部分)。例如:
function trim() {
/// <signature>
/// <summary>Remove the whitespace from the beginning and end of a string.</summary>
/// <param name="str" type="String">The string to trim.</param>
/// <returns type="String" />
/// </signature>
}