想象一下,我有一個包含兩個項目的visual studio解決方案。在這種情況下,項目1意識到項目2項,但項目2不知道項目1來自外部項目的參考界面
項目1
using Project2;
namespace Project1
{
public class ClassA : IMyInterface {}
public class Main {
public void MainMethod()
{
ARandomClass aRandomClass = new ARandomClass();
IMyInterface classA = new ClassA();
aRandomClass.MyItem = classA;
aRandomClass.MyMethod();
}
}
}
項目2
namespace Project2
{
public interface IMyInterface { }
public class ARandomClass {
public IMyInterface MyItem { get; set; }
public void MyMethod() {
Type type = MyItem.GetType(); // what happens here?
}
}
}
我的問題如果我們嘗試在沒有參考/知識的項目中獲取對象的類型,會發生什麼?
它會返回接口嗎?它可以? 它能以某種方式引用該類型嗎? 它會返回「對象」嗎? 或者它會完全做其他事情嗎?
謝謝,這一切都有道理。我一直認爲一個項目中的方法是從該項目中運行的,並且只能訪問編譯時可用的類型。我描述的場景隨機發生在我身上,並且不停地竊聽我,足以發佈這個問題! – kaykayman