3

我不确定我在哪里看到的,而且我肯定没有通过编译器获得语法。是否可以使用“类”C# 关键字作为方法参数签名的一部分?

foo(字符串 x, 类 y) { }

其他人看到这样的东西吗?谢谢,-基因

4

4 回答 4

8

你应该使用对象吗?看起来您正在尝试指定可以具有任何类型的参数,在这种情况下您应该使用对象,因为一切都派生自它。

于 2009-08-18T13:33:45.477 回答
2

我认为您不能像在示例中那样使用它,但是如果您想使用“类”一词作为参数名称,可以通过在其前面加上 @ 来实现:

foo(string @class) { }
于 2009-08-18T13:35:03.820 回答
2

可以在泛型方法定义中使用单词 class in:

foo<T>(T object) where T:class
于 2009-08-18T13:35:43.477 回答
0

如果您希望能够将 y 作为任何东西传递,请使用 object:

foo(string x, class y) { }

如果您想声明 y 必须是类的对象,请使用泛型 - 例如,不是结构或接口。

foo<MyType>(string x, MyType y) where MyType : class { }
于 2009-08-18T14:15:07.320 回答