System.IntPtr и nint в C # Microsoft.CodeAnalysis

При нормальном сравнении типов верно

поэтому я ожидал, что SpecialType из, точно так же, как System.Int32 а также int, при выполнении CodeAnalysis с использованием Microsoft.CodeAnalysis.

но оказывается, что SpecialTypeSystem.IntPtr по-прежнему System.IntPtr.

вот мой код

      string GetSpecialTypeForDisplayIfAny(ISymbol symbol)
{
   return symbol.ToDisplayString(SymbolDisplayFormat.FullyQualifiedFormat
            .WithGlobalNamespaceStyle(SymbolDisplayGlobalNamespaceStyle.Omitted)
            .AddMiscellaneousOptions(SymbolDisplayMiscellaneousOptions.IncludeNullableReferenceTypeModifier)
            .AddMiscellaneousOptions(SymbolDisplayMiscellaneousOptions.UseSpecialTypes)
            .AddMiscellaneousOptions(SymbolDisplayMiscellaneousOptions.IncludeNullableReferenceTypeModifier)
            .AddMiscellaneousOptions(SymbolDisplayMiscellaneousOptions.IncludeNotNullableReferenceTypeModifier))
);
}

Итак, мой вопрос: почему SpecialType System.IntPtr нет nint в CodeAnalysis?

PS. Я уже просмотрел эту документацию . Я понимаю, что «.. ключевые слова - это не просто псевдонимы для типов». но почему тогда это правда typeof(nint)==typeof(System.IntPtr)?

0 ответов

Другие вопросы по тегам