2010-09-22 13 views
6

tengo algunas dudas rizado ..
puedo definir alias de la clase en la parte superior de mi documento, comoAlias ​​de nombre de la clase en el método

using MyName = Bla.Bla.ClassName

Pero puedo definir algo como esto en el ¿método?

+0

¿Desea escribir la misma sintaxis dentro de un método? –

+0

La sintaxis puede ser otra. La razón principal es usar la clase ClassName del espacio de nombres Bla.Bla en forma abreviada (sin espacio de nombres en el método). – Yuriy

Respuesta

6

No, no puedes. Si quiere decir que quiere definir un alias de clase dentro de un método, esto no es posible.

Alias ​​podrían definirse sólo a nivel de archivo o espacio de nombres:

using MyName = Bla.Bla.ClassName; 
namespace A{ 
... 
} 

o

namespace A{ 
    using MyName = Bla.Bla.ClassName 
... 
} 

Si en lugar de decir que desea definir un "método de alias", esto también no es posible : los alias son solo para tipos o espacios de nombres.

5

No, using directivas tienen que ser o bien fuera de cualquier declaración, o dentro de una declaración de espacio:

using Foo; 
namespace Bar 
{ 
    using Baz; 
} 

No se puede hacer esto dentro de un método. ¿Por qué no solo hacerlo para toda la clase? ¿Por qué solo desea que se aplique dentro de un método en particular?

+2

Tengo un genérico en dos parámetros de tipo (la una o la mónada). Mis métodos tienen varias ramas de retorno diferentes, cada una de las cuales devuelve un "nuevo (z)". Los valores internos de Cualquiera de ellos son de solo lectura, así que, sin un alias, debo escribir "O " cada vez que deseo hacer referencia a este tipo. Los tipos de parámetros "x" e "y" dependen del método en el que me encuentre, y generalmente tienen nombres largos; el "O " ocupa más de 60 caracteres en algunos casos. Sería útil decir, al comienzo del método, "usar cualquiera = O bien " y luego "devolver nuevo cualquiera de ellos (z)" para reducir el desorden. – barron

Cuestiones relacionadas