using
///
public
ResourceName = ResourceName.ToUpper(); foreach (string name in assembly.GetManifestResourceNames()) if (name.ToUpper().IndexOf(ResourceName) >= 0; return assembly.GetManifestResourceStream(name); }
return new MemoryStream(new byte[0], false); }
/// <summary> /// Returns the requested resource as a Stream /// </summary> /// <param name="ResourceName"> /// The name of the resource to retrieve /// </param> /// <returns> /// A stream for the requested resource on success. /// An empty stream on failure /// </returns> /// <remarks> /// GetStream first searches for an exact, case insensitive /// match to ResourceName. If the initial search fails,| /// GetStream will search again and return the first /// resource for which ResourceName is a case insensitive /// sub-string /// </remarks> [MethodImpl(MethodImplOptions.NoInlining)] public static Stream GetStream(string ResourceName) { return GetStream(Assembly.GetCallingAssembly(), ResourceName); }
/// <summary> /// Returns the requested resource as a byte[] /// </summary> /// <param name="ResourceName"> /// The name of the resource to retrieve /// </param> /// <returns> /// A byte[] for the requested resource on success. /// An empty byte[] on failure</returns> /// <remarks> /// GetBytes first searches for an exact, case insensitive /// match to ResourceName. If the initial search fails, /// GetBytes will search again and return the first /// resource for which ResourceName is a case insensitive /// sub-string /// </remarks> [MethodImpl(MethodImplOptions.NoInlining)] public static byte[] GetBytes(string ResourceName) { Stream s = GetStream(Assembly.GetCallingAssembly(), ResourceName); byte[] bytes = new byte[s.Length]; s.Read(bytes, 0, bytes.Length); s.Close(); return bytes; }}
--- jehThis post is provided “As Is”, with no warranties, and confers no rights.