2009-11-25 3 views
0

Est-il possible d'ajouter des propriétés définies par l'utilisateur aux objets My.Application ou My.User? J'ai certaines propriétés définies actuellement qui me disent dans quel environnement l'application fonctionne (ie "Développement", "Test", "Production", etc.), si l'utilisateur est un administrateur, etc. semble logique pour obtenir cette information de quelque chose commeEst-il possible d'ajouter des propriétés à My.Application ou My.User?

Dim current = My.Application.EnviornmentName 

ou

If My.User.IsAdministrator Then ... 

au lieu de les avoir définis dans une catégorie distincte car ils sont maintenant. Est-il possible d'ajouter mes propres propriétés à ces objets?

Répondre

2

Je ne suis pas sûr de VB.NET mais VB.NET peut-il utiliser des extensions? Si c'est le cas, utilisez-le pour ajouter des fonctionnalités supplémentaires à l'environnement.

Hope this helps, Meilleures salutations, Tom

+0

oui, il peut voir http://msdn.microsoft.com/en-us/library/bb384936.aspx – ScottS

+0

Exactement ce que je cherchais. J'utilise des méthodes d'extension ailleurs dans mon projet, et il ne m'est même pas venu à l'esprit de les appliquer dans cette instance. Merci pour le coup de pouce dans la bonne direction. – gfrizzle

+0

De rien! Bonne chance dans votre codage, gfrizzle. :) – t0mm13b

0

Je suis sûr que vous pouvez faire quelque chose comme cela, vous devrez répéter l'espace de noms, et je ne sais pas quel genre de problèmes, vous Je vais entrer.

Namespace My 
Public Class User 
    Inherits Microsoft.VisualBasic.ApplicationServices.User 
    Public Shared Function IsAdministrator() As Boolean 
     Dim myUser As New Microsoft.VisualBasic.ApplicationServices.User 
     If myUser.IsAuthenticated Then 
      If myUser.IsInRole("Administrators") Then 
       Return True 
      End If 
      Return False 
     End If 
    End Function 
End Class 
End Namespace 
+0

Comment obtiendriez-vous l'application pour utiliser votre nouvelle classe au lieu de la classe d'utilisateur standard? – ScottS

+0

Je vais devoir vérifier, mais quand j'ai essayé cela, il semble que les deux étaient disponibles. En héritant de l'application ApplicationServices.User standard, il obtiendra toutes les propriétés de la classe orig. C'est essentiellement étendre cette classe – zimmer62

Questions connexes