日期:2014-05-18  浏览次数:20791 次

如何把模板类参数化,然后让不同的namespace调用?
我沿用了C++的思维方式,
我在程序中大量用到Dictionary<string, string>,因此我查到了
using KeyValuePair = Dictionary<string, string>;
但是只能在当前所在的namespace中用
比如
namespace DAL{
using KeyValuePair = Dictionary<string, string>;
}
DAL在使用没有问题了
但是
如果在BLL中
using DAL;
namespace BLL{
  public ClassA{
  public void foo(){
  KeyValuePair kv=new KeyValuePair();//报错
}
}
}
我想参数化一次,就可以在整个程序中使用整个KeyValuePair该如何做?
当然在每个namespace中都来一次using KeyValuePair = Dictionary<string, string>;也是可以的,但是这样太丑陋了。

其实整个功能也就是类似C++中的typedef

------解决方案--------------------
C# 没有这样的功能,准确说 using KeyValuePair = Dictionary<string, string> 是在当前文件中起效
------解决方案--------------------
探讨
引用:

在其中的一个Public的类中声明一个静态的KeyValuePair = Dictionary<string, string>的方法或者属性 别处想使用这个东西 直接引用这个Namespace 然后通过这个类来访问

那么,我一个非常大的程序,如果很多地方都使用Dictionary<string, string>这样一个类,在C#中该如何做呢?每个namespac……