Я пытаюсь создать общий способ использования фиктивного объекта или прокси-объекта при вызове GetGreeting ().Как я могу структурировать код так, чтобы он был более общим, то есть не только для GreetingService?Я должен как-то передать службу typeof WCF, я думаю?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace proxymockproblem
{
class Program
{
static void Main(string[] args)
{
GreetingServiceManager caller = new GreetingServiceManager(false);
Console.Write(caller.GetCaller().GetGreeting());
Console.ReadLine();
}
}
public interface IGreetingServiceManager
{
string GetGreeting();
}
public class proxyGreetingService : IGreetingServiceManager
{
public string GetGreeting()
{ return "hi from proxyGreetingService"; }
}
public class mockGreetingService : IGreetingServiceManager
{
public string GetGreeting()
{ return "hi from mock"; }
}
public class GreetingServiceManager
{
bool UseMock;
public GreetingServiceManager(bool usemock)
{
UseMock = usemock;
}
public IGreetingServiceManager GetCaller()
{
if (UseMock)
{
return new proxyGreetingService();
}
else
{
return new mockGreetingService();
}
}
}
}