VB.NET 2010,.NET 4
您好,
我想做(如下):
\#Const T = "Byte()"
Public Class MyClass
Inherits SomeGenericClass(Of T)
.. other code ..
End Class
让它的行为与我输入的行为相同
Public Class MyClass
Inherits SomeGenericClass(Of Byte())
.. other code ..
End Class
并不是说我有这样做,我只是好奇这样的事情是否可能。
提前致谢!
布赖恩
答案 0 :(得分:2)
不,这是不可能的。 Visual Basic和C#设计者决定不允许类似C的预处理器,因为他们觉得它导致了很多错误和混乱。编写以非预期方式运行的C宏非常容易,VB和C#设计人员认为广泛的开发人员的安全性是优先考虑的。因此,VB和C#中的定义只是“已定义”或“未定义”而不是具有值。
Eric Gunnerson discusses this from a C# perspective here,我认为VB.NET的设计推理基本相同。
答案 1 :(得分:1)
你只有:#Const #If #Else #Endif
但是,您可以使用其他程序生成代码。