/// <summary> /// Returns a key unique for the given type. /// </summary> /// <param name="type">The type the key shall be unique to</param> /// <param name="partialKey">The partial key to be made unique</param> /// <returns>A key formatted as <i>typename.partialkey</i></returns> public static string GetTypeScopedString(Type type, string partialKey) { AssertUtils.ArgumentNotNull(type, "type"); AssertUtils.ArgumentHasText(partialKey, "partialKey"); return(GetUniqueKey(type, null, partialKey)); }
/// <summary> /// Returns a key unique for the given instance. /// </summary> /// <param name="instance">The instance the key shall be unique to</param> /// <param name="partialKey">The partial key to be made unique</param> /// <returns>A key formatted as <i>typename[instance-id].partialkey</i></returns> public static string GetInstanceScopedString(object instance, string partialKey) { AssertUtils.ArgumentNotNull(instance, "instance"); AssertUtils.ArgumentHasText(partialKey, "partialKey"); if (instance is Type) { throw new ArgumentException( "please use GetUniqueKey(Type,string) for creating type specific keys", "instance"); } return(GetUniqueKey(instance.GetType(), instance, partialKey)); }
public static void SaveAssembly(string assemblyName) { AssertUtils.ArgumentHasText(assemblyName, "assemblyName"); ModuleBuilder module = null; lock (s_moduleCache.SyncRoot) { module = (ModuleBuilder)s_moduleCache[assemblyName]; } if (module == null) { throw new ArgumentException(string.Format("'{0}' is not a valid dynamic assembly name", assemblyName), "assemblyName"); } AssemblyBuilder assembly = (AssemblyBuilder)module.Assembly; assembly.Save(assembly.GetName().Name + ".dll"); }