Example #1
0
        private ServiceLoader(string path, string name)
        {
            Assembly asm = Assembly.LoadFrom(path + "/" + name);
            var info = asm.GetType(asm.FullName.Substring(0, asm.FullName.IndexOf(",")) + ".ServiceInfo");
            if(info == null || !typeof(IServiceInfo).IsAssignableFrom(info))
                throw new Exception(asm.FullName.Substring(0, asm.FullName.IndexOf(",")) + ".ServiceInfo가 존재하지 않거나 IServiceInfo를 상속받지 않습니다.");

            _info = (IServiceInfo)Activator.CreateInstance(info);
            _service = _info.GetService();

            _manager = new ManagerProcessor(this, File.ReadAllLines(path + "/manager.ns"));
        }
Example #2
0
 public Services(ManagerProcessor managerProcessor,string name)
 {
     _managerProcessor = managerProcessor;
     _name = name;
 }