c# - 同一个类,不同的命名空间,如何简化?

标签 c# namespaces

我正在使用一个 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/

相关文章:

c# - 以编程方式更改 Excel 中的字体(Trebuchet MS、Calibari)C#

c# 将http请求发送到azure存储

c# - 当它接收到新元素时,不断循环遍历线程中的列表

namespaces - 将命令重命名为不同的命名空间

c# - 如何在silverlight中弹出居中的PopUp控件

c# - lock 和 Thread.Interrupt 哪个更快?

c++ - 我想从此代码中删除 using namespace std,但我不确定所有需要以 std::为前缀的内容

c# - 使用不带属性的 DataContractSerializer 或 XmlSerializer 删除所有命名空间

python - python如何处理条件语句中的临时变量?

c# - 找不到类型或命名空间名称 'UI'。 c#Unity3d