我正在创建一个只有1个类的C#库,它应该充当某些Web服务的shell。
这些服务有自己的类和枚举。
在我的一些功能中,一些参数应该是来自Web服务的枚举(最简单的就是这样)。
但是,当我需要从使用该库的代码中调用该函数时,它最终会出现这样的结果:
LibraryClass.FunctionName(LibraryName.WebServicesName.EnumName.EnumValue);
是否可以使代码看起来更像这样:
LibraryClass.FunctionName(EnumName.EnumValue);
通过从库类中的Web服务公开枚举?
我知道我可以通过在库类中创建自己的Enum来做到这一点,我可能会这样做,但是这个问题在我脑海中浮现,我在这里停下来问:是否可以公开这样的枚举?
答案 0 :(得分:2)
在C#6中添加了新的using static
,您可以轻松完成所需的工作。
using static LibraryName.WebServicesName;
这将允许您将Library.WebServicesName
类的静态成员及其嵌套类和枚举导入到您自己的命名空间中。
Example用法
using System;
using static LibraryName.WebServicesName;
public class Program
{
public static void Main()
{
Console.WriteLine(EnumName.Foo);
}
}
namespace LibraryName
{
class WebServicesName{
public enum EnumName { Foo, Bar}
}
}