我有一个使用 C# 的客户端/服务器应用程序。
在我的设计中,客户端将通过 C# 类和方法向服务器请求服务器支持的一些数据过滤和收集。
我有一个接收请求并将数据提供回客户端的服务器连接。为此,客户端请求对象、方法和参数。
所以,那里的客户做了一个像这样的请求:
GetData (MyClass, MyMethod, MyParams[]);
一切正常我正在服务器上使用当前的动态方法调用:
Type type = System.Type.GetType(MyClass);
object instance = System.Activator.CreateInstance(type);
MethodInfo method = type.GetMethod(MyMethod);
object[] parameters = new object[] { MyParams[] };
var data = method.Invoke(instance, parameters);
... data checking, filtering and returning to client...
我有一个问题,我有几个不同的对象和方法,每一个都有不同的检查和过滤。由于动态对象不支持Intellisense,我的数据后检查代码非常混乱,难以支持甚至理解。
我希望有一种不同的方法,我可以通过 Intellisense 支持(已知类型)获取数据。这将使我的生活更轻松,代码更清晰。另一方面,我不会用不同的组合构建十几个 GetData 调用。
我正在考虑建立一个对象工厂,但我不确定哪种模式最适合这里。我敢肯定这里有一个很好的模式可以使用,但我看不到我的问题的解决方案......
很感谢任何形式的帮助。