我不确定提出这个问题的最佳方法,但我想将一个对象传递到一个方法中,并根据对象的类型通过函数使用该对象。可能还有其他解决方案,所以让我解释一下情况。
我有一位客户向我退回了两个对象(Foo 和 Bar)。但是,这些对象几乎相同,因此我尝试编写一个函数来读取数据。
这是我想做的代码片段,但这显然行不通。
public static void MyFunction(object obj)
{
object order = null;
if (typeof(Foo) == obj.GetType())
{
order = obj as Foo;
}
else
order = obj as Bar;
// get data from order
}
任何帮助或指导将不胜感激。
最佳答案
我怀疑您的场景还有很多我们作为社区可以评论的内容,例如评论中提到的界面的使用。但是,仅了解我们所知道的,您可以尝试一些简单的事情,如下所示:
public static void MyFunction(object obj)
{
Foo foo;
Bar bar;
if ((foo = obj as Foo) != null)
//Work with foo here.
else if ((bar = obj as Bar) != null)
//Work with bar here
}
关于c# - 将对象传递给方法并确定类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31711233/