2016-04-05 34 views
0

Örnek oluşturmaksızın bir şeyin (sınıf/modül/arabirim ...) özelliğini çağırmak mümkün müdür? Aynı zamanda, aynı nesne isminin örneğinden fonksiyona erişmek için? BenÖrnek kod örneği ve örnek olarak aynı anda işlev

... API kendi .d.ts inşa ediyorum mesela:

declare class document { 
    flag; 
    getFlag(); 
} 

Şimdi böyle demen gerekiyor:

Tamam
var d = new document; 
d.getFlag(); 

ama Ayrıca, örneğin,

'u da aramalıyım. Bu durumda aynı adı "belge" ile.

Bir şekilde yazı tipinde olabilir mi?

+0

Neden böyle ihtiyacım var? Tasarımında bir koku gibi görünüyor. Normal olarak yöntemleri statik olarak tanımlamanız veya bunlara ihtiyacınız olana bağlı değilsiniz, ancak bir seferde hem statik hem de statik olmayan bir yönteme ihtiyacınız varsa, muhtemelen yanlış bir tasarım sorunu olabilir – iberbeu

+0

Yanlış olduğunu biliyorum, ancak bir Dış çerçevemin, sınıfın ismini sabit olarak kullanması ve mülkünü çağırması mümkün olmalıdır. –

+4

getFlag() öğesini statik ´static getFlag() olarak ayarlamalısınız ve sonra statik bir yöntem olarak kullanabilirsiniz, ancak artık statik olmayan olarak kullanamazsınız. Bir hack, yöntemi kopyalamak olabilir: bir statik ve diğer kopya statik olmayan kopyalayın. Bu olsa da çok kötü bir şey. Başka bir olasılık yok. Statik ve statik olmayanlar arasından seçim yapmanız gerekir. – iberbeu

cevap

0

Tamam, ama ben de Sınıfın bir static üyesi ihtiyacımız

çağırmanız gerekir Hangi:

declare class document { 
    static flag; 
    getFlag(); 
} 
document.flag;