System.Security.Util.URLString.GetFileName C# (CSharp) Method

GetFileName() public method

public GetFileName ( ) : String
return String
        public String GetFileName()
        {
            DoDeferredParse();

#if !PLATFORM_UNIX
            if (String.Compare( m_protocol, "file", StringComparison.OrdinalIgnoreCase) != 0)
                return null;
         
            String intermediateDirectory = this.Directory.Replace( '/', '\\' );

            String directory = this.Host.Replace( '/', '\\' );

            int directorySlashIndex = directory.IndexOf( '\\' );
            if (directorySlashIndex == -1)
            {
                if (directory.Length != 2 ||
                    !(directory[1] == ':' || directory[1] == '|'))
                {
                    directory = "\\\\" + directory;
                }
            }
            else if (directorySlashIndex > 2 ||
                     (directorySlashIndex == 2 && directory[1] != ':' && directory[1] != '|'))
            {
                directory = "\\\\" + directory;
            }

            directory += "\\" + intermediateDirectory;
            
            return directory;
#else
            // In Unix, directory contains the full pathname
            // (this is what we get in Win32)
            if (String.Compare( m_protocol, "file", StringComparison.OrdinalIgnoreCase ) != 0)
                return null;

            return this.Directory;
#endif    // !PLATFORM_UNIX
    }

Usage Example

 internal static RuntimeAssembly InternalLoadAssemblyName(AssemblyName assemblyRef, System.Security.Policy.Evidence assemblySecurity, ref StackCrawlMark stackMark, bool forIntrospection, bool suppressSecurityChecks)
 {
     if (assemblyRef == null)
     {
         throw new ArgumentNullException("assemblyRef");
     }
     assemblyRef = (AssemblyName) assemblyRef.Clone();
     if (assemblySecurity != null)
     {
         if (!AppDomain.CurrentDomain.IsLegacyCasPolicyEnabled)
         {
             throw new NotSupportedException(Environment.GetResourceString("NotSupported_RequiresCasPolicyImplicit"));
         }
         if (!suppressSecurityChecks)
         {
             new SecurityPermission(SecurityPermissionFlag.ControlEvidence).Demand();
         }
     }
     string strA = VerifyCodeBase(assemblyRef.CodeBase);
     if ((strA != null) && !suppressSecurityChecks)
     {
         if (string.Compare(strA, 0, "file:", 0, 5, StringComparison.OrdinalIgnoreCase) != 0)
         {
             CreateWebPermission(assemblyRef.EscapedCodeBase).Demand();
         }
         else
         {
             URLString str2 = new URLString(strA, true);
             new FileIOPermission(FileIOPermissionAccess.PathDiscovery | FileIOPermissionAccess.Read, str2.GetFileName()).Demand();
         }
     }
     return nLoad(assemblyRef, strA, assemblySecurity, null, ref stackMark, true, forIntrospection, suppressSecurityChecks);
 }
All Usage Examples Of System.Security.Util.URLString::GetFileName