SharpDevelop学习笔记--什么是codon,与codon的创建过程

 codon只是一个xml文件(addin文件中)的一个节点,这个节点须有唯一的名字
以下是一个codon的创建过程,并不包括condtion

以下是调用的程序正常执行步骤的记录

SharpDevelop学习笔记--什么是codon,与codon的创建过程public class Addin
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程
...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程    
//从addin文件中分析出extension
SharpDevelop学习笔记--什么是codon,与codon的创建过程
    public void Initialize(string fileName)
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程    
...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程        
switch (curEl.Name) ...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程            
case "Runtime":
SharpDevelop学习笔记--什么是codon,与codon的创建过程                AddRuntimeLibraries(Path.GetDirectoryName(fileName), curEl);
SharpDevelop学习笔记--什么是codon,与codon的创建过程                
break;
SharpDevelop学习笔记--什么是codon,与codon的创建过程            
case "Extension":
SharpDevelop学习笔记--什么是codon,与codon的创建过程                AddExtensions(curEl);
SharpDevelop学习笔记--什么是codon,与codon的创建过程                
break;
SharpDevelop学习笔记--什么是codon,与codon的创建过程        }

SharpDevelop学习笔记--什么是codon,与codon的创建过程    }

SharpDevelop学习笔记--什么是codon,与codon的创建过程
SharpDevelop学习笔记--什么是codon,与codon的创建过程    
void AddExtensions(XmlElement el)
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程    
...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程        
if (el.Attributes["path"== null...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程            
throw new AddInLoadException("One extension node has no path attribute defined.");
SharpDevelop学习笔记--什么是codon,与codon的创建过程        }
            
SharpDevelop学习笔记--什么是codon,与codon的创建过程        Extension e 
= new Extension(el.Attributes["path"].InnerText);//extension的path属性
SharpDevelop学习笔记--什么是codon,与codon的创建过程
        AddCodonsToExtension(e, el, new ConditionCollection());//调用此函数来实例化,条件,与Icodon
SharpDevelop学习笔记--什么是codon,与codon的创建过程
        extensions.Add(e);
SharpDevelop学习笔记--什么是codon,与codon的创建过程    }

SharpDevelop学习笔记--什么是codon,与codon的创建过程
SharpDevelop学习笔记--什么是codon,与codon的创建过程    
void AddCodonsToExtension(Extension e, XmlElement el, ConditionCollection conditions)
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程    
...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程        
foreach (object o in el.ChildNodes) ...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程            
if (!(o is XmlElement)) ...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程                
continue;
SharpDevelop学习笔记--什么是codon,与codon的创建过程            }

SharpDevelop学习笔记--什么是codon,与codon的创建过程            XmlElement curEl 
= (XmlElement)o;
SharpDevelop学习笔记--什么是codon,与codon的创建过程
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程        
switch (curEl.Name) ...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程                
case "And"// these nodes are silently ignored.
SharpDevelop学习笔记--什么是codon,与codon的创建过程
                case "Or":
SharpDevelop学习笔记--什么是codon,与codon的创建过程                
case "Not":
SharpDevelop学习笔记--什么是codon,与codon的创建过程                
case "Condition":
SharpDevelop学习笔记--什么是codon,与codon的创建过程                    
break;
SharpDevelop学习笔记--什么是codon,与codon的创建过程                
case "Conditional":
SharpDevelop学习笔记--什么是codon,与codon的创建过程                
//建立conditional 集合
SharpDevelop学习笔记--什么是codon,与codon的创建过程
                default:
SharpDevelop学习笔记--什么是codon,与codon的创建过程                ICodon codon 
= AddInTreeSingleton.AddInTree.CodonFactory.CreateCodon(this, curEl);//创建类的实例
SharpDevelop学习笔记--什么是codon,与codon的创建过程
}

SharpDevelop学习笔记--什么是codon,与codon的创建过程
SharpDevelop学习笔记--什么是codon,与codon的创建过程
SharpDevelop学习笔记--什么是codon,与codon的创建过程
//调用codonfactory
SharpDevelop学习笔记--什么是codon,与codon的创建过程
public class CodonFactory
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程
...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程    
public ICodon CreateCodon(AddIn addIn, XmlNode codonNode)
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程    
...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程        CodonBuilder builder 
= codonHashtable[codonNode.Name] as CodonBuilder;
SharpDevelop学习笔记--什么是codon,与codon的创建过程        
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程        
if (builder != null...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程            
return builder.BuildCodon(addIn);//创建类的实例
SharpDevelop学习笔记--什么是codon,与codon的创建过程
        }

SharpDevelop学习笔记--什么是codon,与codon的创建过程        
SharpDevelop学习笔记--什么是codon,与codon的创建过程        
throw new CodonNotFoundException(String.Format("no codon builder found for <{0}>", codonNode.Name));
SharpDevelop学习笔记--什么是codon,与codon的创建过程    }

SharpDevelop学习笔记--什么是codon,与codon的创建过程}

SharpDevelop学习笔记--什么是codon,与codon的创建过程
SharpDevelop学习笔记--什么是codon,与codon的创建过程
SharpDevelop学习笔记--什么是codon,与codon的创建过程
//类的condonbuilder
SharpDevelop学习笔记--什么是codon,与codon的创建过程
public class CodonBuilder
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程
...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程    
public ICodon BuildCodon(AddIn addIn)
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程    
...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程        ICodon codon;
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程        
try ...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程            
// create instance (ignore case)
SharpDevelop学习笔记--什么是codon,与codon的创建过程
            codon = (ICodon)assembly.CreateInstance(ClassName, true);//调用assembly来创建类的实例,并转换为icodon接口
SharpDevelop学习笔记--什么是codon,与codon的创建过程            
SharpDevelop学习笔记--什么是codon,与codon的创建过程            
// set default values
SharpDevelop学习笔记--什么是codon,与codon的创建过程
            codon.AddIn = addIn;
SharpDevelop学习笔记--什么是codon,与codon的创建过程SharpDevelop学习笔记--什么是codon,与codon的创建过程        }
 catch (Exception) ...{
SharpDevelop学习笔记--什么是codon,与codon的创建过程            codon 
= null;
SharpDevelop学习笔记--什么是codon,与codon的创建过程        }

SharpDevelop学习笔记--什么是codon,与codon的创建过程        
return codon;
SharpDevelop学习笔记--什么是codon,与codon的创建过程    }

SharpDevelop学习笔记--什么是codon,与codon的创建过程}
上一篇:[Android]getevent,sendevent,input命令的使用


下一篇:netapp学习(十二)---Dedup:file-level or block-level??