Pregunta

Me preguntaba cual existen casos extremos que podría hacer Common Language Specification cumplimiento aceptable. Aun cuando no se pretende estar accesible desde otros idiomas, creo que los principios haga valer el CLSCompliantAttribute son buenas las mejores prácticas.

¿Se ha encontrado / conocimiento de casos en los YAGNI supera las mejores prácticas?

¿Fue útil?

Solución

"[sic] ¿De qué sirve por ser compatible con CLS?"

de confianza medio , ClickOnce , que va desde una unidad de red compartida, perfiles de huéspedes en un entorno de dominio, etc. Hay un montón de situaciones de seguridad donde su código no puede funcionar si se rompe la compatibilidad con CLS.

Yo personalmente he visto una gran cantidad de situaciones en las que los usuarios están tratando de ejecutar su aplicación desde una unidad de red compartida y no pueden porque el administrador local ha matado a aplicaciones que no son compatibles con CLS en el perfil de seguridad.

En general, hay por lo general son formas de solucionar el problema de todos modos. Me gustaría tener el enfoque opuesto a los comentarios anteriores, ¿por qué romperlo? Estás escribiendo código administrado, ¿por qué se desee limitar su aplicación a propósito?

Yo diría que si usted está construyendo un conjunto de API o componente, siempre debe adherirse a ellos. Demasiados componentes de terceros toman el camino fácil y sólo les marcar como roto al intentar ejecutar a partir de confianza medio. En algunos casos, esta es la única razón por la que no se puede ejecutar. Si hubieran tenido un poco más de tiempo para cumplir con las directrices, los usuarios no estarían limitados en cuanto a cómo pueden utilizar su componente.

Otros consejos

Bueno, matrices "params" en atributos son a veces tan tentador (pero no conforme). Pero me gustaría recomendar el uso de enfoques compatibles con CLS siempre que sea posible.

Creo que es aceptable para la biblioteca interna a un producto cuando se trabaja con capas heredadas que requieren ese tipo de funciones o por razones de rendimiento.

Sin embargo, estas interfaces no conformes a continuación, deben ser reencapsulated en un nivel superior.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top