Est-il possible de limiter l'utilisation d'un attribut à des variables publiques et protégées seulement? Je veux juste limiter aux variables privées.Restriction des utilisations d'attribut uniquement pour les variables publiques et protégées C#
4
A
Répondre
7
Non, vous ne pouvez pas faire cela. Vous pouvez limiter l'utilisation des attributs uniquement en fonction du type de la cible, et rien d'autre.
[AttributeUsage(AttributeTargets.Method)]
public class MethodOnlyAttribute : Attribute {
}
4
Au meilleur de ma connaissance, vous ne pouvez pas. L'énumération AttributeTargets répertorie les éléments d'application auxquels vous pouvez restreindre l'utilisation des attributs.
5
Vous pouvez le faire avec PostSharp, voici un exemple d'un champ qui ne peut être appliquée à un domaine public ou protégé:
[Serializable]
[AttributeUsage(AttributeTargets.Field)]
public class MyAttribute : OnFieldAccessAspect
{
public override bool CompileTimeValidate(System.Reflection.FieldInfo field)
{
if (field.IsPublic || field.IsFamily)
{
throw new Exception("Attribute can only be applied to Public or Protected fields");
}
return true;
}
}
Questions connexes
- 1. Restriction d'OpenSSH pour autoriser les téléchargements uniquement vers certains répertoires
- 2. actionscript: variables publiques non définies?
- 3. méthodes "protégées" en C#?
- 4. Restriction des abonnements SSRS aux planifications partagées uniquement
- 5. Combien et quelles sont les utilisations de "const" en C++?
- 6. Les utilisations modernes pour les cartes d'image
- 7. Projet large "Supprimer et trier les utilisations"
- 8. Les interfaces utilisateur sont-elles protégées par des droits d'auteur?
- 9. Utilisations pour les schémas SQL Server
- 10. Pouvez-vous avoir des classes imbriquées protégées en C++?
- 11. Quelles sont les utilisations légitimes des crochets de clavier globaux?
- 12. Comment les méthodes protégées de java.lang.Object sont-elles protégées des sous-classes?
- 13. Quelles sont les utilisations intéressantes pour les agents Java?
- 14. utilisations de « pour » en Java
- 15. Quelles sont les meilleures pratiques pour les URL publiques «privées»?
- 16. Utilisation de XmlSerializer avec des propriétés const publiques et privées
- 17. Si vous utilisez uniquement des variables locales dans un partiel?
- 18. Comment puis-je obtenir uniquement des variables de classe?
- 19. Les variables partagées publiques de contrôle utilisateur dans ASP.NET 1.1 ne fonctionnent pas comme prévu
- 20. Quelles sont les utilisations des métadonnées de Clojure?
- 21. Eclipse: liste des méthodes et des variables de toutes les classes
- 22. Pages protégées dans MediaWiki
- 23. Passer des variables entre C++ et Lua via Swig
- 24. PMD - vérifier trop de méthodes publiques (mais exclure les constructeurs et les getters/setters)
- 25. Utilisations cool des attributs ou des annotations (CLR ou Java)?
- 26. Quelles sont les utilisations des paramètres de modèle de modèle en C++?
- 27. Utilisation interne de classe des propriétés publiques
- 28. Jquery, xml et les variables
- 29. Utilisations intéressantes d'interfaces fluides?
- 30. erreur de restriction sur les messages entre SQLSERVER et dot.net
Comme expliqué Mehrdad, vous ne pouvez pas faire cela. Pourriez-vous nous dire pourquoi vous voulez restreindre les attributs de cette façon? Pourriez-vous nous dire votre cas de figure? – SolutionYogi