Est le CallerMemberName attribut de 4.5“, capable d'être truquées”?
Donc .NET 4.5 présente les CallerMemberNameAttribute
, ce qui semble être une aubaine pour les personnes qui travaillent avec WPF et la mise en œuvre de INotifyPropertyChanged
- ma question est: Est l'attribut intrinsèquement liée/pris en charge par les 4.5 5.0 compilateur, ou est-il plus d'un sucre syntaxique helper par l'environnement, un peu comme on pourrait le faux Visual Studio en déclarant un ExtensionAttribute
de votre propre, comme par magie, en tournant sur la syntaxe LINQ?
Edit: (désolé Jon!)
Je suppose que je me demande si on peut "activer" la fonctionnalité de la CallerMemberNameAttribute
dans .NET 4.0 via redeclaration de l'attribut dans le bon espace de noms, un peu comme on peut "activer" une requête LINQ de la syntaxe .NET 2.0 par une déclaration de l' ExtensionAttribute
classe. Ma forte suspicion est pas, naturellement...
Mettre encore une autre façon: je veux savoir si je peux bénéficier de la fonctionnalité de CallerMemberName
sans la mise à niveau .NET 4.5/5
J'espère que c'est plus clair...
NinjaEdit #2: Soupir...la version conventions de numérotation sont confus!
- Votre question est très clair - il n'y a pas de 4,5 compilateur, car il n'y a pas de C# 4.5. Demandez-vous si on peut utiliser le C# 5 compilateur contre une version antérieure de ce cadre, la création de vos propres attributs qui ont le même aspect que celles de la .NET 4.5? (Comme Leextensionattribute est tout simplement lié dans le C# 3+ compilateur, et ne dépend pas de l ' "environnement".)
- il n'est pas .NET 5, il est .NET 4.5, C# 5.
Vous devez vous connecter pour publier un commentaire.
Oui, vous pouvez, exactement comme vous pourriez utiliser LINQ et .NET 2, comme vous l'avez dit. J'utilise la suite dans une .NET 4.0 projet avec VS2012 compilateur avec succès:
Être très attention à ce que tout le monde sur le projet à l'aide de VS2012, sinon, ils vont obtenir le silence des bugs, car
CallerMemberNameAttribute
ne rien faire etnull
a été transmis en tant que paramètre par défaut.Modifier 2013-06-28: Envisager l'installation de la Microsoft.Bcl NuGet package qui fournit
CallerMemberNameAttribute
(et de certaines autres catégories d' .NET 4.5) pour .NET 4 et Silverlight plutôt que de le faire manuellement.