示例#1
0
        public T Create(string s)
        {
            // assumes factory class an implemented class are in same namespace
            string  fullClassname = string.Format("{0}.{1}", GetType().Namespace, s);
            IDoWork newUnit       = (T)Activator.CreateInstance(Type.GetType(fullClassname));

            return((T)newUnit);
        }
示例#2
0
        static void Main(string[] args)
        {
            Console.WriteLine("starting");
            IDoWork worker = GetWorker();

            worker.DoThis("hello world");
            worker.DoThat("Hi again");
            Console.WriteLine("finished");
        }
    public static void Main(string[] args)
    {
        var     factoryClass = new FactoryClass <IDoWork>();
        IDoWork newWork      = factoryClass.Create("DoWorkType1");

        Console.WriteLine(newWork.Process());
        newWork = factoryClass.Create("DoWorkType2");
        Console.WriteLine(newWork.Process());
        Console.Read();
    }
示例#4
0
        private void button1_Click(object sender, EventArgs e)
        {
            IDoWork doWork = ServiceFactory.GetServiceImp <IDoWork>(ServiceModule.SvcModule.EastMoneyMain);

            if (doWork != null)
            {
                doWork.DoWork();
            }
            // IDoWork doWork = new EastMoneyMain();
        }
示例#5
0
 private void ClickEastMoney(object sender, RoutedEventArgs e)
 {
     try
     {
         IDoWork doWork = ServiceFactory.GetServiceImp <IDoWork>(ServiceModule.SvcModule.EastMoneyMain);
         if (doWork != null)
         {
             Task.Factory.StartNew(doWork.DoWork);
         }
     }
     catch (Exception ex)
     {
         LogUtility.LogAction(ex.ToString());
         throw ex;
     }
 }
示例#6
0
 void BroadcastWorker(IDoWork <Player> _worker, uint zoneId)
 {
     for (uint i = 0; i < SharedConst.BGTeamsCount; ++i)
     {
         foreach (var guid in m_players[i])
         {
             Player player = Global.ObjAccessor.FindPlayer(guid);
             if (player)
             {
                 if (player.GetZoneId() == zoneId)
                 {
                     _worker.Invoke(player);
                 }
             }
         }
     }
 }
示例#7
0
        static void CallObjectPooledWorkService()
        {
            ChannelFactory <IDoWork> channelFactory = new ChannelFactory <IDoWork>("ObjectPooledWorkService");

            IDoWork channel = channelFactory.CreateChannel();

            ColorConsole.WriteLine(ConsoleColor.Blue, "Calling ObjectPooledWorkService:");

            Stopwatch stopwatch = new Stopwatch();

            stopwatch.Start();

            // Call the service method for 5 times
            for (int i = 1; i <= 5; i++)
            {
                channel.DoWork();
                ColorConsole.WriteLine(ConsoleColor.Blue, "{0} - DoWork() Done", i);
            }

            stopwatch.Stop();
            ColorConsole.WriteLine(ConsoleColor.Blue, "Calling ObjectPooledWorkService took: " + stopwatch.ElapsedMilliseconds.ToString() + " ms.");

            ((IClientChannel)channel).Close();
        }
示例#8
0
 public TimingCommand(IDoWork work)
 {
     _work = work;
 }
示例#9
0
 public Man(View view, IDoWork doWork, int age)
 {
     View   = view;
     DoWork = doWork;
     Age    = age;
 }
示例#10
0
 public Functions(IConfiguration config, IDoWork doWork)
 {
     _config = config;
     _doWork = doWork;
 }
示例#11
0
 public LoggingCommand(IDoWork work)
 {
     _work = work;
 }
示例#12
0
 public MainMenu(IDoWork doWork)
 {
     m_Work = doWork;
 }
示例#13
0
 public GuiWorker(string version, IDoWork realWorker)
 {
     Version    = version;
     RealWorker = realWorker;
 }
示例#14
0
 public TimingCommand(IDoWork work)
 {
     _work = work;
 }