.net - ¿Es el atributo CallerMemberName en 4.5 "capaz de ser falsificado"?
wpf .net-4.5 (1)
Sí, puede, exactamente como podría usar LINQ y .NET 2, como dijo. Uso lo siguiente en un proyecto .NET 4.0 con el compilador VS2012 con éxito:
namespace System.Runtime.CompilerServices {
[AttributeUsage(AttributeTargets.Parameter, AllowMultiple = false, Inherited = true)]
public sealed class CallerMemberNameAttribute : Attribute {
}
}
Tenga mucho cuidado de que todos en el proyecto estén utilizando VS2012, de lo contrario obtendrán errores silenciosos porque CallerMemberNameAttribute
no hizo nada y se pasó null
como parámetro predeterminado.
Edite el 2013-06-28: Considere instalar el paquete Microsoft.Bcl NuGet que proporciona CallerMemberNameAttribute
(y algunas otras clases de .NET 4.5) para .NET 4 y Silverlight en lugar de hacerlo manualmente.
Entonces .NET 4.5 presenta el CallerMemberNameAttribute
, que parece una bendición para cualquier persona que trabaje con WPF e implemente INotifyPropertyChanged
. El entorno, al igual que uno podría falsificar Visual Studio al declarar un ExtensionAttribute
de ExtensionAttribute
propio, ¿activar mágicamente la sintaxis LINQ?
Edición: (lo siento, Jon!) Supongo que estoy preguntando si se puede "habilitar" la funcionalidad de CallerMemberNameAttribute
en .NET 4.0 mediante la redeclaración del atributo en el espacio de nombres adecuado, de manera muy similar a como se puede "habilitar" la sintaxis de consulta LINQ NET 2.0 por declaración apropiada de la clase ExtensionAttribute
. Mi fuerte sospecha es no, naturalmente ...
Dicho de otra manera: quiero saber si puedo beneficiarme de la funcionalidad de CallerMemberName
sin actualizar a .NET 4.5 / 5
Esperemos que eso sea más claro ...
NinjaEdit # 2: Suspiro ... ¡las convenciones de numeración de versiones son confusas!