Me gustaría adherirse a las normas de formato de StyleCop hacer buen código y clara, pero recientemente he tenido un problema con uno de sus advertencias:Uso de directivas, espacio de nombres y referencia de conjunto: todo mezclado con StyleCop.
Todos utilizando directivas deben ser colocados interior del espacio de nombres.
Mi problema es que tengo que utilizan directivas, una referencia de ensamblado (por burlarse de la eliminación de archivos), y un espacio de nombres para hacer malabares en una de mis clases de prueba:
using System;
using System.IO;
using Microsoft.Moles.Framework;
using Microsoft.VisualStudio.TestTools.UnitTesting;
[assembly: MoledType(typeof(System.IO.File))]
namespace MyNamespace
{
//Some Code
}
Lo anterior permite pruebas sean funciona bien, pero StyleCop se queja de que las directivas de uso no están dentro del espacio de nombres.
Al poner los usos dentro del espacio de nombres aparece el error de que "MoledType" no se reconoce.
Poner tanto los usings y la referencia de ensamblado en el interior del espacio de nombres da el error
'montaje' no es un atributo de ubicación válida de esta declaración. Las ubicaciones de atributo válidas para esta declaración son 'tipo'. Todos los atributos en este bloque serán ignorados.
Parece que he probado todos los diseños que puedo, pero fue en vano, o la solución no se compilará, ¡la burla no funcionará o StyleCop se quejará!
¿Alguien sabe una manera de resolver esto para que todo esté feliz? ¿O voy a tener que ignorar la advertencia de StyleCop en este caso?
Si asigna el nombre completo para MoledType y mueve solo los nombres a la tabla de nombres, ¿todavía está en coma? –
¡Sí, eso lo solucionó! Recibí este comentario justo después de enviar la respuesta a mi propia pregunta jaja!Gracias aunque Leom, muy apreciado =) – Jack