public void GetSubTypesTest() { Assembly assembly = AssemblyUtils.CreateAssembly("GamerSkySADE.dll"); Assert.IsTrue(assembly.GetSubTypes(typeof(Scanner)).Select(type => type.FullName).ToArray().Contains(typeof(GamerSkyScanner).FullName)); Assert.IsFalse(assembly.GetSubTypes(typeof(Analyzer)).Select(type => type.FullName).ToArray().Contains(typeof(GamerSkyScanner).FullName)); }
public void CreateInstanceTest() { Assembly assembly = AssemblyUtils.CreateAssembly("GamerSkySADE.dll"); Type ScannerType = assembly.GetSubTypes(typeof(Scanner)).FirstOrDefault(); Assert.IsNotNull(ScannerType); Scanner scanner = assembly.CreateInstance(ScannerType) as Scanner; Assert.IsInstanceOfType(scanner, ScannerType); Assert.IsNotInstanceOfType(scanner, typeof(Analyzer)); }
/// <summary> /// 创建程序集 /// </summary> /// <param name="filePath">可执行文件路径</param> /// <returns></returns> public Assembly CreateAssembly(string filePath) { Assembly assembly = AssemblyUtils.CreateAssembly(filePath); return(assembly); }
public void CreateAssemblyTest() { Assert.IsNotNull(AssemblyUtils.CreateAssembly("LeonReader.Common.dll")); Assert.ThrowsException <System.IO.FileNotFoundException>(() => AssemblyUtils.CreateAssembly("LeonReader.xxx.dll")); }