コード例 #1
0
        public MariniImpiantoDataManager(string filename, IMariniSerializer serializer, List<IMariniEventHandler> eventHandlerList)
        {
            // TODO: Una qualche validazione del filename? Magari con metodo apposito, o oggetto validatore esterno
            // TODO: una qualche validazione dell'XML? Magari con metodo apposito o con oggetto validatore esterno (vedi XSD)
            XmlDocument doc = new XmlDocument();
            doc.Load(filename);
            XmlNode root = doc.SelectSingleNode("*");
            MariniBaseObject dataTree = (MariniBaseObject)MariniObjectCreator.CreateMariniObject(root);

            _Initialize(dataTree, serializer, eventHandlerList);
        }
コード例 #2
0
 /// <summary>
 /// Initialize the MariniImpiantoDataManager. Sets the mariniImpiantoDataTree and populate the Dictionaries
 /// </summary>
 /// <param name="mariniImpiantoDataTree"></param>
 private void _Initialize(MariniBaseObject dataTree, IMariniSerializer serializer, List<IMariniEventHandler> eventHandlerList)
 {
     // TODO Faccio cosi' o uso un setter???
     this._dataTree = dataTree;
     this._serializer = serializer;
     this._eventHandlerList = eventHandlerList;
     _InitializeDictionaries();
     //foreach (IMariniEventHandler mariniEventsHandler in this._eventHandlerList)
     //{
     //    _SubscribeEvents(mariniEventsHandler);
     //}
     _SubscribeEvents();
 }
コード例 #3
0
 //Nei costruttori faccio Dependency Injection / Inversion of Control, ovvero sposto il codice su oggetti esterni.
 public MariniImpiantoDataManager(MariniBaseObject dataTree, IMariniSerializer serializer, List <IMariniEventHandler> eventHandlerList)
 {
     _Initialize(dataTree, serializer, eventHandlerList);   
 }