在 class 中使用别名而不是声明新的 class

Using alias inside a class instead of declaring a new class

我在网络服务中有一个复杂的事件参数 class

public partial class PROJECT.WCF.MyActionCompletedEventArgs 
{
...
};

现在我有一个 class 以某种方式包装此 Web 服务

public class WebserviceCtrl
{
...

现在我想用已经定义的相同事件参数添加我自己的处理程序。所以我想要一个 using 别名(就像 C++ 中的 typedef)在 class 里面,像这样:

public class WebserviceCtrl
{
  using ActionCompletedEventArgs = PROJECT.WCF.MyActionCompletedEventArgs;
  ...

但是我直接在using语句前面得到了一个语法错误。我可以直接在 class 声明之前(在命名空间内)使用此 using 语句。我将此语句放在 class 定义中的什么位置并不重要。

我知道声明我自己的 ActionCompletedEventArgs class 的可能性,但在这种情况下,我必须提供特定的构造函数并迫使我编写不是 "needed" 的特定构造函数], 如果我只是使用别名...
所以我不想声明我自己的 class!

我已经使用文档学习了 C#,但我可以找到任何相关信息。

我的问题是,为什么我不能在 class 中使用 using classx = classy;

考虑使用通用 class,例如:

public class WebserviceCtrl<T> where T : MyActionCompletedEventArgs

您尝试做的事情不受您尝试做的方式的支持,但是如果您尝试引用变量 class,泛型就是在 C# 中完成的。

别名仅适用于当前文件(或当前文件内的当前命名空间作用域),它们不存在于编译后的输出。就像其他 "include" 命名空间的 using 语句一样。

根本没有理由将它们放在其他地方,这只会让代码更难阅读。