Используя частичные классы

Я не согласен с добавлением файлов .iml и Intellij sez для добавления папки .idea, но игнорирую .idea / workspace.xml и .idea / tasks.xml, но как насчет .idea / library /?

Я не понимаю, как имеет смысл добавить это. Он содержит список файлов XML, в котором перечислены библиотеки, о которых должен знать проект Android Studio. Предполагается, что они приходят из определенных зависимостей build.gradle, а не из файла проекта IDE.

Также содержимое одного из этих файлов выглядит следующим образом:

<component name="libraryTable">
    <CLASSES>
       <root url="jar://$USER_HOME$/.gradle/caches/artifacts-26/filestore/com.example/example/etc...jar!"/>

Не имеет смысла это делать. Что, если пользователь указал другой домашний каталог для Gradle, или если он использует другую версию Gradle, путь в .gradle/caches/artifacts-xxx будет отличаться для него (т. Е. artifacts- число, добавленное на конце, будет относиться к Gradle версия выпуска, которую вы используете.) Эти пути не универсальны, и все же советуем проверить все это в?

9
задан rahul 26 June 2009 в 11:44
поделиться

3 ответа

Они скомпилированы в один и тот же IL, как если бы они не были частичными. Это чисто время компиляции - CLR даже не знает, что они когда-либо были частичными.

Обратите внимание, что с частичными методами , введенными в C # 3, этот метод не t даже генерируются в IL, если это не реализовано в одном из файлов. И вызовы, и объявление исключаются компилятором.

Конечно, возможно, что это замедлит компилятор на незаметную долю миллисекунды:

16
ответ дан 4 December 2019 в 10:05
поделиться

Нет, все файлы классов будут объединены во время компиляции.

Вот статья msdn о частичных типах.

Каждый исходный файл содержит раздел определение типа или метода, и все части объединяются при компиляции приложения.

3
ответ дан 4 December 2019 в 10:05
поделиться

Нет. Они собраны в один класс. Это чисто языковая особенность.

2
ответ дан 4 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: