C#:声明要使用的数据类型的常量变量

时间:2012-02-22 12:20:09

标签: c# generics

是否有可能以某种方式定义一个常量来说明用于某些变量的数据类型,类似于泛型?所以在某个课程中,我会有以下内容:

MYTYPE = System.String;

// some other code here

MYTYPE myVariable = "Hello";

从原理上它应该和泛型一样,但是每次调用这个类的构造函数时我都不想写数据类型。它应该简单地保证两个(或更多)变量使用相同的数据类型。

4 个答案:

答案 0 :(得分:7)

好吧,你可以使用using指令:

using MYTYPE = System.String;

然而,这并不像typedef - 特别是,这段代码现在完全有效:

MYTYPE x = "hello";
string y = "there";
x = y;

编译器知道它们仍然是同一类型。

你想要实现的目标并不是很清楚,特别是在这里:

  

每次调用此类的构造函数时,我都不想编写数据类型。

你是什么意思?

请注意,使用指令特定于源文件,而不是整个项目。

答案 1 :(得分:4)

您可以使用using别名来执行此操作:

using MyType = System.String;

但是,仅基于每个文件。坦率地说,对一些复杂的复合泛型类型(我想到"Owin"等)做一个简短的别名是有用的,但除此之外,泛型更通用。

答案 2 :(得分:2)

您可以使用别名:

using System;
using MYTYPE = System.String;

class Program
{
    static void Main()
    {
        MYTYPE f = "Hello";
        Console.WriteLine(f);
    }
}

答案 3 :(得分:1)

是的,using alias directive

编辑:殴打几秒钟......