Представьте, что у меня есть визуальное студийное решение, содержащее два проекта. В этом случае проект 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();
}
}
}
Project 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