Я занят созданием сборки, которая будет собирать информацию CodeModel, которая, в свою очередь, используется для генерации кода с помощью шаблона T4.CodeProperty CodeType внезапно пропал
Я борюсь с CodeModel из-за отсутствия хорошей информации. Я нашел несколько книг, описывающих CodeModel, но только истинные основы. Не найдено углубленной документации.
На прошлой неделе я создал указанную сборку, и следующая конструкция работала нормально более 4 дней.
/// <summary>
/// The CodeType of the property
/// </summary>
public CodeType CodeType
{
get
{
if (!m_CodeTypeInitialized)
{
CodeTypeRef codeTypeRef = CodeProperty.Type;
m_CodeType = codeTypeRef.CodeType;
m_CodeTypeInitialized = true;
}
return m_CodeType;
}
}
Вчера эта конструкция больше не возвращает CodeType. Теперь я изменил код на
/// <summary>
/// The CodeType of the property
/// </summary>
public CodeType CodeType
{
get
{
if (!m_CodeTypeInitialized)
{
if (CodeProperty.IsCodeType)
{
CodeTypeRef codeTypeRef = CodeProperty.Type;
m_CodeType = codeTypeRef.CodeType;
}
m_CodeTypeInitialized = true;
}
return m_CodeType;
}
}
Это больше не вызывает исключение, но результат всегда равен «null». Я потерялся. Что может привести к тому, что CodeProperty внезапно потеряет CodeType?
Мне действительно нужен CodeType, потому что много кода привязано к его информации.
Я только понял, что это работает только в том случае, если тип, который я ищу, содержится в том же проекте. А также на самом деле не отвечает на вопрос :-( –