我正在編寫一個JavaScript類,並嘗試使用Visual Studio 2013 intellisense將字段聲明爲特定的HTML元素。問題是當我將字段設置爲返回值時,它將智能感知重寫爲返回類型值(即使我知道它是我設置的XML類型)。VS Javascript Intellisense類型被覆蓋
我想知道是否有辦法來防止自動覆蓋的字段類型。
這是一個人爲的例子:
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上下文信息。
謝謝!
我什至不知道你可以使用XML註釋來做到這一點,太棒了!也許你需要添加一些東西到'getEl'?這聽起來像它已經知道,它正在返回一個元素,正如intellisense所暗示的那樣。也許你需要一個封裝'getDiv'來內部調用'getEl',但可以用intellisense友好的方式記錄下來?作爲評論而不是答案,因爲a)我以前從來沒有見過這個功能,並且b)可能有一個正確的方法來做到這一點:) –