using System;
using System.IO;
using System.Reflection;
namespace SM.Utility
{
public class AssemblyUtility
{
///
/// Read a file that is saved in a assembly
///
/// The assembly that contains the file
/// The path to the file inside the assembly
///
public static string ReadAssemblyFile(Assembly ass, string path) { return new StreamReader(GetAssemblyStream(ass, path)).ReadToEnd(); }
///
/// Read a file that is saved in the calling assembly
///
/// The path to the file inside the assembly
///
public static string ReadAssemblyFile(string path) { return ReadAssemblyFile(Assembly.GetCallingAssembly(), path); }
public static Stream GetAssemblyStream(Assembly ass, string path) { return ass.GetManifestResourceStream(ass.GetName().Name + "." + path) ?? throw new InvalidOperationException("Assembly couldn't find resource at path '" + path + "'."); }
public static Stream GetAssemblyStream(string path) { return GetAssemblyStream(Assembly.GetCallingAssembly(), path); }
}
}