2 // System.Reflection/Assembly.cs
5 // Paolo Molaro (lupus@ximian.com)
7 // (C) 2001 Ximian, Inc. http://www.ximian.com
11 using System.Security.Policy;
12 using System.Runtime.Serialization;
13 using System.Reflection.Emit;
15 using System.Globalization;
16 using System.Runtime.CompilerServices;
18 namespace System.Reflection {
20 public class Assembly : System.Reflection.ICustomAttributeProvider,
21 System.Security.IEvidenceFactory, System.Runtime.Serialization.ISerializable {
22 private IntPtr _mono_assembly;
24 public virtual string CodeBase { get {return null;} }
26 public virtual string CopiedCodeBase { get {return null;} }
28 public virtual string FullName { get {return null;} }
30 public virtual MethodInfo EntryPoint { get {return null;} }
32 public virtual Evidence Evidence { get {return null;} }
34 public virtual String Location { get {return null;} }
36 public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
40 public virtual Boolean IsDefined(Type attributeType)
45 public virtual bool IsDefined (Type attribute_type, bool inherit)
50 public virtual Object[] GetCustomAttributes()
55 public virtual Object[] GetCustomAttributes(Type attributeType)
60 public virtual object [] GetCustomAttributes (bool inherit)
65 public virtual object [] GetCustomAttributes (Type attribute_type, bool inherit)
70 public virtual void RemoveOnTypeResolve(ResolveEventHandler handler)
74 public virtual void AddOnTypeResolve(ResolveEventHandler handler)
78 public virtual void RemoveOnResourceResolve(ResolveEventHandler handler)
82 public virtual void AddOnResourceResolve(ResolveEventHandler handler)
86 public virtual ModuleBuilder DefineDynamicModule(String name, Boolean emitSymbolInfo)
91 public virtual ModuleBuilder DefineDynamicModule(String name)
96 public virtual FileStream[] GetFiles()
101 public virtual FileStream GetFile(String name)
106 public virtual Stream GetManifestResourceStream(String name)
111 public virtual Stream GetManifestResourceStream(Type type, String name)
116 public virtual Type[] GetTypes()
121 public virtual Type[] GetExportedTypes()
126 public virtual Type GetType(String name, Boolean throwOnError)
128 return GetType (name, throwOnError, false);
131 [MethodImplAttribute(MethodImplOptions.InternalCall)]
132 public extern virtual Type GetType(String name);
134 public Type GetType(String name, Boolean throwOnError, Boolean ignoreCase)
139 public virtual AssemblyName GetName(Boolean copiedName)
144 public virtual AssemblyName GetName()
149 public override String ToString()
151 return "FIXME: assembly";
154 public static String CreateQualifiedName(String assemblyName, String typeName)
156 return "FIXME: assembly";
159 public static String nCreateQualifiedName(String assemblyName, String typeName)
161 return "FIXME: assembly";
164 public static Assembly GetAssembly(Type type)
169 public Assembly GetSatelliteAssembly(CultureInfo culture)
174 public static Assembly LoadFrom(String assemblyFile)
176 return LoadFrom (assemblyFile, new Evidence());
179 [MethodImplAttribute(MethodImplOptions.InternalCall)]
180 public static extern Assembly LoadFrom(String assemblyFile, Evidence securityEvidence);
182 public static Assembly Load(String assemblyString)
184 return LoadFrom (assemblyString, new Evidence());
187 public static Assembly Load(String assemblyString, Evidence assemblySecurity)
189 return LoadFrom (assemblyString, assemblySecurity);
192 public static Assembly Load(AssemblyName assemblyRef)
197 public static Assembly Load(AssemblyName assemblyRef, Evidence assemblySecurity)
202 public static Assembly Load(Byte[] rawAssembly)
207 public static Assembly Load(Byte[] rawAssembly, Byte[] rawSymbolStore)
212 public static Assembly Load(Byte[] rawAssembly, Byte[] rawSymbolStore, Evidence securityEvidence)
217 public Object CreateInstance(String typeName)
222 public Object CreateInstance(String typeName, Boolean ignoreCase)
227 public Object CreateInstance(String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)
232 public Module[] GetLoadedModules()
237 public Module[] GetModules()
242 public Module GetModule(String name)
247 public String[] GetManifestResourceNames()
252 public static Assembly GetExecutingAssembly()
257 public AssemblyName[] GetReferencedAssemblies()
262 public ManifestResourceInfo GetManifestResourceInfo(String resourceName)
267 public static Assembly Load(AssemblyName assemblyRef, Evidence assemblySecurity, String callerLocation)
272 public static Assembly Load(String assemblyString, Evidence assemblySecurity, String callerLocation)