public LoadAssemblyCommand(string assemblyName, byte[] contents, ICommandAssemblies commandAssemblies, IKnownTypeHolder knownTypeHolder) { this.assemblyName = assemblyName; this.contents = contents; this.commandAssemblies = commandAssemblies; this.knownTypeHolder = knownTypeHolder; }
public virtual ICommandAssembly Add(string name, byte[] contents, IKnownTypeHolder knownTypeHolder) { if (!list.ContainsKey(name)) { list[name] = new CommandAssembly(Assembly.Load(contents), knownTypeHolder); } return list[name]; }
public virtual ICommandAssembly Add(string name, byte[] contents, IKnownTypeHolder knownTypeHolder) { if (!list.ContainsKey(name)) { list[name] = new CommandAssembly(Assembly.Load(contents), knownTypeHolder); } return(list[name]); }
public CommandAssembly(Assembly assembly, IKnownTypeHolder knownTypeHolder) { this.assembly = assembly; var types = assembly.GetTypes(); foreach (Type type in types) { if (type.IsInterface || type.GetCustomAttributes(typeof(DataContractAttribute), false).Length != 1) continue; knownTypeHolder.Add(type); } }
public virtual ICommandAssembly Add(string name, byte[] contents, IKnownTypeHolder knownTypeHolder) { if (!list.ContainsKey(name)) { using (var memoryStream = new MemoryStream(contents)) { var part = new AssemblyPart(); Assembly assembly = part.Load(memoryStream); list[name] = new CommandAssembly(assembly, knownTypeHolder); } } return list[name]; }
public virtual ICommandAssembly Add(string name, byte[] contents, IKnownTypeHolder knownTypeHolder) { if (!list.ContainsKey(name)) { using (var memoryStream = new MemoryStream(contents)) { var part = new AssemblyPart(); Assembly assembly = part.Load(memoryStream); list[name] = new CommandAssembly(assembly, knownTypeHolder); } } return(list[name]); }
public CommandAssembly(Assembly assembly, IKnownTypeHolder knownTypeHolder) { this.assembly = assembly; var types = assembly.GetTypes(); foreach (Type type in types) { if (type.IsInterface || type.GetCustomAttributes(typeof(DataContractAttribute), false).Length != 1) { continue; } knownTypeHolder.Add(type); } }