sharpdevelop中如何加载addin文件

Sharpdevelop中的addin文件是一个xml文件,SD的作者在其中设置了一些特定的规则,来描述菜单,工具栏,视图的创建及dll的加载,
作者创建了一个addin类(代码存在于addin.cs)来完成对addin文件的操作
addin文件其中包含了,作者,版本,描述,版权等等各个方面的信息,

 

 addin的一个例子
 
< AddIn  name         = "SharpDevelop Core"
       author      
= "Mike Krueger"       
       description 
= "NCvs core module"
       version     
= "1.0.0" >

    
< Runtime >
        
< Import  assembly ="SharpDevelop.Base.dll" />
        
< Import  assembly ="CSharpParser.dll" />
    
</ Runtime >   
</ AddIn >

 

// 简化的对addin文件的操作类
using  System;
using  System.Collections.Generic;
using  System.Text;
using  System.Xml;
using  System.IO;
using  System.Windows.Forms;
using  System.Diagnostics;


namespace  CSLearn
{
    
///   <summary>
    
///  读取xml文本的一个类
    
///   </summary>
     public   class  cxyxmlreader
    { 
        
public  cxyxmlreader( string  tpxmfile)
        {
            Debug.Assert(
string .IsNullOrEmpty(xmlfile),  " xml文件不能为空 " );
            
this .xmlfile  =  tpxmfile;
            Initlization();
        }

        
///   <summary>
        
///  加载xml文件 初始化变量,
        
///   </summary>
         private   void  Initlization()
        {

            System.Diagnostics.Debug.Assert(File.Exists(xmlfile), 
" 配置文件不存在 " );
            XmlDocument doc 
=   new  XmlDocument();
            doc.Load(xmlfile);


            
try
            {
                
// selectsinglenode中的参数注意大小写
                version  =  doc.SelectSingleNode( " AddIn/@version " ).Value;
                author 
=  doc.SelectSingleNode( " AddIn/@author " ).Value;
                description 
=  doc.SelectSingleNode( " AddIn/@description " ).Value;
                version 
=  doc.SelectSingleNode( " AddIn/@version " ).Value;

            }
            
catch  (Exception ex)
            {
                
// todo:处理异常
                 throw  ex;
            }
             
        }


        
string  xmlfile,author,description,version;
        
///   <summary>
        
///  配置文件名
        
///   </summary>
         public  String XmlFileName  {   set  { xmlfile  =  value; }  }
        
///   <summary>
        
///  作者
        
///   </summary>
         public   string  Author {  get  {  return  author; }  }
        
///   <summary>
        
///  addin描述
        
///   </summary>
         public   string  Description {  get  {  return  description; } }
        
///   <summary>
        
///  版本信息
        
///   </summary>
         public   string  Version {  get  {  return  version; } }
       
           
       
    }

    
}
// 类的使用方法
 cxyxmlreader reader  =   new  cxyxmlreader( " xmlfile1.xml " );
MessageBox.Show(reader.Version);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值