Извинения, если это звучит как глупый вопрос. Я не очень разбираюсь в том, как вещи связаны / связаны / собраны под капотом.
Прежде чем начать, я хотел бы сказать, что я пытался читать документацию (например, https://docs.microsoft.com/en-us/xamarin/cross-platform/app-fundamentals/code-sharing), чтобы найти ответ, но не смог.
Если у меня есть решение Xamarin.Forms и я ссылаюсь на проект .Net Standard:
Вопрос 1: Весь ли код из этого проекта компилируется и включается в приложение так, что он может быть разобран позже, или это только код из классов, которые я фактически использую, который включается
Немного подробнее:
Например, у меня может быть класс School
, который ожидает IStudent
(ввод через DI), и класс Student
, который реализует IStudent
. Оба они существуют в проекте .Net Standard, на который я ссылаюсь в проекте Xamarin.Forms. Однако, если я на самом деле использую класс Student
(зарегистрировав его с типом IStudent
в моем контейнере IoC), будет ли код из School
также включен во встроенное приложение?
Вопрос 2: Если весь код из проекта включен, есть ли способ принудительно указать, какие классы включать / исключать, с помощью некоторого параметра конфигурации, атрибутов, сторонней библиотеки или чего-то еще