System.Security.PermissionToken.FindToken C# (CSharp) Method

FindToken() public static method

public static FindToken ( Type cls ) : PermissionToken
cls System.Type
return PermissionToken
        public static PermissionToken FindToken( Type cls )
        {
            if (cls == null)
                return null;
             
            if (cls.GetInterface( "System.Security.Permissions.IBuiltInPermission" ) != null)
            {
                if (s_reflectPerm == null)
                    s_reflectPerm = new ReflectionPermission(PermissionState.Unrestricted);
                s_reflectPerm.Assert();
                MethodInfo method = cls.GetMethod( "GetTokenIndex", BindingFlags.Static | BindingFlags.NonPublic );
                BCLDebug.Assert( method != null, "IBuiltInPermission types should have a static method called 'GetTokenIndex'" );
                return s_theTokenFactory.BuiltInGetToken( (int)method.Invoke( null, null ), null, cls );
            }
            else
            {
                return s_theTokenFactory.FindToken( cls );
            }
        }

Usage Example

Example #1
0
 public static PermissionToken GetToken(string typeStr, bool bCreateMscorlib)
 {
     if (typeStr == null)
     {
         return((PermissionToken)null);
     }
     if (!PermissionToken.IsMscorlibClassName(typeStr))
     {
         return(PermissionToken.s_theTokenFactory.GetToken(typeStr));
     }
     if (!bCreateMscorlib)
     {
         return((PermissionToken)null);
     }
     return(PermissionToken.FindToken(Type.GetType(typeStr)));
 }