Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var a = AppDomain.CurrentDomain**.GetAssemblies**();
- foreach (var assembly in a)
- {
- if (assembly is System.Reflection**.Emit.**AssemblyBuilder) continue;
- if (assembly**.GetType().**FullName == "System.Reflection.Emit.InternalAssemblyBuilder") continue;
- if (assembly**.GlobalAssemblyCache** && assembly**.CodeBase** == Assembly.GetExecutingAssembly()**.CodeBase**) continue;
- foreach (var t in GetLoadableTypes(assembly))
- {
- if (t.IsInterface) continue;
- if (t.IsAbstract) continue;
- if (t.IsNotPublic) continue;
- if (!typeof(IGeometryServices).IsAssignableFrom(t)) continue;
- var constuctors = t.GetConstructors();
- foreach (var constructorInfo in constuctors)
- {
- if (constructorInfo.IsPublic && constructorInfo.GetParameters().Length == 0)
- return (IGeometryServices)Activator.CreateInstance(t);
- }
- }
- }
- catch (**ReflectionTypeLoadException** ex)
- {
- var types = ex**.Types**;
- IList<Type> list = new List<Type>(types**.Length**);
- foreach (var t in types)
- if (t != null && t**.IsPublic**)
- list.Add(t);
- return list;
- }
- var a = AppDomain.CurrentDomain.GetAssemblies();
- var a = new[] {Assembly.GetCallingAssembly(), Assembly.GetExecutingAssembly()};
- if (assembly is System.Reflection.Emit.AssemblyBuilder) continue;
- if (assembly.GetType().FullName == System.Reflection.Emit.InternalAssemblyBuilder") continue;
- if (assembly.GlobalAssemblyCache && assembly.CodeBase == Assembly.GetExecutingAssembly().CodeBase) continue;
- foreach (var t in GetLoadableTypes(assembly))
- {
- if (t.IsInterface) continue;
- if (t.IsAbstract) continue;
- if (t.IsNotPublic) continue;
- if (!typeof(IGeometryServices).IsAssignableFrom(t)) continue;
Add Comment
Please, Sign In to add comment