/// <summary>
    /// 仓库创建
    /// </summary>
    public static class RepositoryCreater
    {
        public static T CreateRepository<T>(string name)
        {
            string defintion = "DAL.Provider.ArticleProvider,DAL";            Type type = Type.GetType(defintion);            object obj = Activator.CreateInstance(type);            if (obj is T)
            {
                return (T)obj;
            }
            else
            {
                return default(T);
            }
        }
    }
这里的这个defintion值是需要写到XML文件中的.   应该怎么写????
string defintion = "DAL.Provider.ArticleProvider,DAL";
DAL.Provider.ArticleProvider,DAL

解决方案 »

  1.   

    using System;//写入
    using System.Collections.Generic;
    using System.Text;
    using System.Xml;namespace xmlwriter
    {
        class xmlwriter
        {
            public static void Main(string[] args)
            {
                string path = @"c:\newmail.xml";
    //          string path = @"c:\people.xml";
                string oldpath = @"c:\mail.xml";
    /*          try//写入元素
                   {
                    XmlWriterSettings mySettings = new XmlWriterSettings();
                    mySettings.Indent = true;//是否进行缩进
                    mySettings.IndentChars = ("    ");                XmlWriter myWriter = XmlWriter.Create(path, mySettings);                myWriter.WriteStartElement("people");
                    myWriter.WriteElementString("name", "zhang");
                    myWriter.WriteEndElement();
                    myWriter.Flush();//当在派生类中被重写时候将缓冲区的所有内容刷新到基础流
                }*/
    /*           try//写入属性
                {
                    XmlWriterSettings mySettings = new XmlWriterSettings();
                    mySettings.Indent = true;
                    mySettings.IndentChars = ("    ");                XmlWriter myWriter = XmlWriter.Create(path, mySettings);//创建XMLWRITER实例
                    //输入XML数据
                    myWriter.WriteStartElement("people");
                    myWriter.WriteAttributeString("sex", "male");
                    myWriter.WriteElementString("name", "zhang");
                    myWriter.WriteEndElement();
                    myWriter.Flush();
                }*/
    /*            try//第二种写入属性的方法
                {
                    XmlWriterSettings mySettings = new XmlWriterSettings();
                    mySettings.Indent = true;
                    mySettings.IndentChars = ("    ");                XmlWriter myWriter = XmlWriter.Create(path,mySettings);                myWriter.WriteStartElement("people");
                    myWriter.WriteStartAttribute("nation");
                    myWriter.WriteValue("chinese");
                    myWriter.WriteEndAttribute();
                    myWriter.WriteElementString("name", "zhang");
                    myWriter.WriteEndElement();
                    myWriter.Flush();
                }*/
    /*            try//第三种写入XML的方法
                {
                    XmlWriterSettings mySettings = new XmlWriterSettings();
                    mySettings.Indent = true;
                    mySettings.IndentChars = ("    ");                XmlWriter myWriter = XmlWriter.Create(path,mySettings);                myWriter.WriteStartElement("people");
                    myWriter.WriteElementString("name","zhang");
                    myWriter.WriteElementString("nation", "china");
                    myWriter.WriteEndElement();
                    myWriter.Flush();
                }*/
                try//第三种写入XML的方法
                {
                    XmlWriterSettings mySettings = new XmlWriterSettings();
                    mySettings.Indent = true;
                    mySettings.IndentChars = ("    ");                XmlReader myReader = XmlReader.Create(oldpath);
                    myReader.ReadToNextSibling("mail");                XmlWriter myWriter = XmlWriter.Create(path);
                    myWriter.WriteNode(myReader, true);
                    myWriter.Flush();
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                Console.ReadLine();
            }
        }
    }