В чем разница между (CIL или MSILor IL) с CTS? [Дубликат]

Это может быть полезно для ленивой загрузки. Скажем, объект, о котором идет речь, хранится в базе данных, и вы не хотите его получать, если это вам не нужно. Если объект извлекается геттером, тогда внутренний объект может быть нулевым, пока кто-то его не попросит, тогда вы можете получить его при первом вызове getter.

У меня был класс базовой страницы в проект, который был передан мне, который загружал некоторые данные из нескольких различных вызовов веб-сервисов, но данные в этих вызовах веб-службы не всегда использовались на всех дочерних страницах. Веб-сервисы, для всех преимуществ, пионеры новых определений «медленные», поэтому вы не хотите делать вызов веб-службы, если вам это не нужно.

Я перешел из общедоступных полей в геттеры, и теперь геттеры проверяют кеш, и если его нет, вызовите веб-службу. Таким образом, с небольшой упаковкой было предотвращено множество вызовов веб-сервисов.

Таким образом, getter избавляет меня от попыток выяснить, на каждой дочерней странице, что мне нужно. Если мне это нужно, я вызываю геттер, и он найдет его для меня, если у меня его еще нет.

    protected YourType _yourName = null;
    public YourType YourName{
      get
      {
        if (_yourName == null)
        {
          _yourName = new YourType();
          return _yourName;
        }
      }
    }
7
задан Peter Mortensen 22 January 2013 в 12:19
поделиться

1 ответ

CIL (Common Intermediate Language) - это байтовый код, с которым компилируется ваш код C # или Visual Basic. Это «машинный код» механизма выполнения .NET.

CTS (Common Type System) - это представление типов (классов и структур) на скомпилированном уровне. В основном, это говорит о том, что все языки .NET будут использовать общий способ представления типов (классов и структур).

CLS (Common Language Specification) представляет собой набор ограничений для API и дополнительный набор требований на языках. Если библиотека CLS-совместима (т. Е. Придерживается всех ограничений), то любой CLS-совместимый язык сможет использовать этот API. И наоборот, язык, совместимый с CLS, гарантированно сможет использовать любую библиотеку, совместимую с CLS. Например, гарантируется поддержка CLS-совместимого языка для Int32, поэтому CLS гарантирует, что библиотекари могут использовать Int32 в своих API.

12
ответ дан itowlson 29 August 2018 в 02:19
поделиться
Другие вопросы по тегам:

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