我有几个不同类型的对象,它们的方法采用不同的参数,它们都返回相同的类型。这些方法可能会失败。有没有办法编写一个函数来获取对象及其方法,指示方法是否失败,并指示发生故障的对象?我无法修改 Result 对象,并且它不包含有关调用它的对象的信息。
我觉得这有点冗长:
Result resultA = A.something();
if(resultA.Failed) return new Status{Failed=A.GetType().ToString()};
Result resultB = B.somethingElse(3);
if(resultB.Failed) return new Status{Failed=B.GetType().ToString()};
Result result3 = C.someOtherThing("apple");
if(resultC.Failed) return new Status{Failed=C.GetType().ToString()};
// Do some processing of the results (will succeed if A,B,C succeeded)
return new Status {Failed=null, Success=true};
有没有办法将所有这些封装到一个函数中?它似乎非常重复。A、B 和 C 不是从有用的基类继承的,它们的方法都采用不同的参数并具有不同的名称。
话虽如此,我确实可以访问 Status 类,甚至可以访问该函数的返回值。该函数不需要返回,它可以抛出异常。如果出现故障,该功能可以立即中断。