public App Get(customobj data, string x)
{
return null;
}
public Con Get(customobj data, string x)
{
return null;
}
public Env Get(customobj data, string x)
{
return null;
}
答案 0 :(得分:1)
这可能是一个不错的小通用:
public static TOutput Get<TOutput>(this customobj data, string x)
请记住,实现使用工厂模式的后面的类可能是最好的实现,但这完全取决于您。您可以轻松地打开类型名称并构建正确的类型。
使用它看起来像这样:
myCustomObj.Get<Con>("my x val");
答案 1 :(得分:1)
你的问题的简单答案是没有最好的方法。除非所有三个代码都是相同的(不太可能返回三种不同的类型),所以将它们保留为三种方法,因为任何将它们组合成一种的尝试都会使代码变得更加混乱,更难以阅读并因此难以维护。进一步,给他们更好的名字,描述每个人做的事情。至少,像:
public App GetApp(customobj data, string x)
{
...
}
public Con GetCon(customobj data, string x)
{
...
}
public Env GetEnv(customobj data, string x)
{
...
}
答案 2 :(得分:0)
据我了解你的问题。你可以创建一个类
Public parameter
{
App app;
Con con;
Env env;
}
public parameter Get(customobj data, string x)
{
parameter _pobj=new parameter();
//you can add the result here if you want or else return null.
_pobj="somehting1";
_pobj="somthing2";
_pobj="somthing3";
return _pobj;
}
您可以通过说_pobj.env或上述参数
在不同的电话中收集它们