2010-02-20 11 views

Respuesta

20

Por ejemplo:

using MatchBuilderFactoryFunc = System.Func< 
    IndexerBase.RequestMatching.RequestFreeTextAnalyzeParameter, 
    System.Collections.Generic.IEnumerable< 
     IndexerBase.RequestMatching.IMatchBuilder>>; 

Y después de todo lo utilizan tipo tan simple:

MatchBuilderFactoryFunc f = ... 
+4

+1, Nunca consideré usarlo de esta manera –

1

Sí. utilice la directiva using.

Si busca con el término "alias C#", también encontrará una respuesta fácil.

+0

Esto es correcto. http://www.codeproject.com/KB/dotnet/Data_Type_Alias__Net.aspx muestra un ejemplo. – awright18

1

Sí, using puede hacer que

using q = System.Int32; 
4
using XDoc = System.Xml.Linq.XDocument; 

Sin embargo, sólo sobrevive para la compilación del un archivo C# No puedes exportar este alias

33

Como han dicho otros, use "using alias = type;" forma de la directiva de uso. Un par de cosas sobre eso:

1) Tiene que ser lo primero en el archivo o el espacio de nombres. (A menos que tenga directivas externas de alias por supuesto; van antes de las directivas de uso.)

2) El alias no es un tipo verdadero. A mucha gente le gustaría ver:

using PopsicleCount=System.Int32; 
using GiraffeCount=System.Int32; 
... 
PopsicleCount p = 123; 
GiraffeCount g = p; // ERROR, can't convert a count of giraffes into a count of popsicles 

Pero no admitimos esa característica. Es un verdadero alias; simplemente sustituimos el tipo de alización por el identificador de alias cuando lo vemos; p y g son ambos de tipo int.

3) El alias solo se aplica en la declaración de archivo o espacio de nombre en que aparece. Si desea usar un alias en cada archivo de su programa, deberá escribirlo en cada archivo de su programa.

4) Los alias no se pueden parametrizar en el lado del nombre del alias, aunque pueden ser tipos genéricos cerrados en el lado del texto. Es decir, esto es legal:

using GiraffeList = System.Collections.Generic.List<Giraffe>; 

pero esto no es:

using Frobtionary<T> = System.Collections.Generic.Dictionary<Frob, T>; 
+0

Tiene razón, realmente quiero 2) en su lista. –

Cuestiones relacionadas