在C#中,我可以这样做:
using IAnyType = App.Namespace.Types.IAnyType ;
class BaseClass : IAnyType { }
Run Code Online (Sandbox Code Playgroud)
是否有一个等价的文件?
//BAD:
import IDialogOptions = App.Widgets.Interfaces.IDialogOptions; //A module cannot be aliased as a non-module type
class BaseClass implements IDialogOptions { }
//BAD:
declare var IDialogOptions: App.Widgets.Interfaces.IDialogOptions;
class BaseClass implements IDialogOptions { } //The name IDialogOptions does not exist in the current context
Run Code Online (Sandbox Code Playgroud)
我能得到的最接近的是:
import Interfaces = App.Widgets.Interfaces;
class BaseDialog implements Interfaces.IDialogOptions { }
Run Code Online (Sandbox Code Playgroud)
每次我需要使用这个界面时,使用这个长名称并不理想.我想这不是很糟糕,但我想知道是否有更好的?
实际上,我更喜欢你的原始解决方
import Interfaces = App.Widgets.Interfaces;
class BaseDialog implements Interfaces.IDialogOptions { }
Run Code Online (Sandbox Code Playgroud)
没有别名(Interfaces
)你就可以得到命名冲突 - 如果你不得不处理using
语句,那么最终使用别名或使用完整的命名空间是一件非常痛苦的事情.
using myAlias = App.Namespace.Types;
Run Code Online (Sandbox Code Playgroud)
至少为您导入的所有模块添加别名意味着这不会成为问题.
归档时间: |
|
查看次数: |
3446 次 |
最近记录: |