我正在使用一个 Web 服务,该服务在两个命名空间中提供几乎重复的代码。比方说 PigFeet 和 HorseFeet,这两个命名空间都包含一个 Feet 类,其他使用 Feet 类的代码要求它是同一命名空间的一部分。
现在在我的代码中我被迫做这样的事情:
if( _animalType == AnimalType.Pig )
{
//namespace is pigfeet
PigFeet.Feet feet = new Feet();
feet.WashFeet();
}
if( _animalType == AnimalType.Horse )
{
//namespace is horsefeet
HorseFeet.Feet feet = new Feet();
feet.WashFeet();
}
这给我留下了很多重复的代码。有没有办法更动态地选择命名空间?
最佳答案
在您的命名空间导入中,您可以分配一个 alias到特定的命名空间或成员。
using PigFeet = PigFeet.Feet;
using HorseFeet = HorseFeet.Feet;
//now your sample code should look something like
if( _animalType == AnimalType.Pig )
{
//namespace is pigfeet
PigFeet feet = new PigFeet();
feet.WashFeet();
}
if( _animalType == AnimalType.Horse )
{
//namespace is horsefeet
HorseFeet feet = new HorseFeet();
feet.WashFeet();
}
关于c# - 同一个类,不同的命名空间,如何简化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/172320/