我有3類: -如何通過任何類對象作爲參數傳遞給方法
public Class Example1
{
public void Method1()
{
}
public void Method2()
{
}
}
public Class Example2
{
public void Method3()
{
}
public void Method4()
{
}
}
public Class CompletelyDifferentClass
{
public void DifferentMethod(Example1/Example2 obj)
{
obj.Method1(); //if object is passed for Example1
obj.Method3(); //if object is passed for Example2
}
}
如果我們看到CompletelyDifferentClass和公共DifferentMethod(例1 /例題OBJ)
我想DifferentMethod得到參數因爲任何時候我都可以發送Example1對象或Example2對象。 如果發送Example2對象,它應該啓用Example2的方法,如obj.Method3();
這是不固定的,我將作爲參數發送到該方法的哪個類的對象。
我怎麼能寫DifferentMethod
如果你不知道在編譯時間參數傳遞的對象的類型(類型'object')那麼你需要閱讀[Reflection](https://msdn.microsoft.com/en-us/library/mt656691.aspx)。 – InBetween
也許使用'is'運算符或'as'運算符?但這聽起來像重載會更好。這聽起來像是一個X-Y問題,並不清楚它與ASP.NET有什麼關係。 –
[還有很多](https://www.google.com/search?q=method+parameter+different+types+c%23) –