예제 #1
0
파일: BaseProject.cs 프로젝트: chcg/Rail
        /// <summary>
        /// Load the file
        /// </summary>
        /// <typeparam name="T">Type of the project class</typeparam>
        /// <param name="path">Path to load</param>
        /// <returns>Instance of the loaded project class</returns>
        public static T Load <T>(string path) where T : BaseProject
        {
            BaseProject project = null;

            using (XmlTextReader reader = new XmlTextReader(path))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(T));
                project = (BaseProject)serializer.Deserialize(reader);
            }
            return((T)project);
        }
예제 #2
0
파일: BaseProject.cs 프로젝트: chcg/Rail
        public static T Load <T>(string path, XmlSchema schema) where T : BaseProject
        {
            BaseProject       project  = null;
            XmlReaderSettings settings = new XmlReaderSettings();

            settings.CheckCharacters = true;
            settings.Schemas.Add(schema);
            settings.ValidationType = ValidationType.Schema;
            using (XmlReader reader = XmlReader.Create(path, settings))
            {
                XmlSerializer serializer = new XmlSerializer(typeof(T));
                project = (BaseProject)serializer.Deserialize(reader);
            }
            return((T)project);
        }