Mono.Addins.AddinEngine.UnloadAddin C# (CSharp) 메소드

UnloadAddin() 개인적인 메소드

private UnloadAddin ( string id ) : void
id string
리턴 void
        internal void UnloadAddin(string id)
        {
            RemoveAddinExtensions (id);

            RuntimeAddin addin = GetAddin (id);
            if (addin != null) {
                addin.UnloadExtensions ();
                lock (LocalLock) {
                    var loadedAddinsCopy = new Dictionary<string,RuntimeAddin> (loadedAddins);
                    loadedAddinsCopy.Remove (Addin.GetIdName (id));
                    loadedAddins = loadedAddinsCopy;
                    if (addin.AssembliesLoaded) {
                        var loadedAssembliesCopy = new Dictionary<Assembly,RuntimeAddin> (loadedAssemblies);
                        foreach (Assembly asm in addin.Assemblies)
                            loadedAssembliesCopy.Remove (asm);
                        loadedAssemblies = loadedAssembliesCopy;
                    }
                }
                ReportAddinUnload (id);
            }
        }