Мне нужно получить имена нескольких объектов. Имена не могут содержать свои биты (16/32/64). Actaully Я делаю это так object.GetType().Name
. Когда я использую int как объект (int.GetType().Name
), он возвращает int. Но когда я использую uint, он возвращает uint32. Я хочу получить только uint. Есть ли лучший способ сделать это, чем String.Replace?Получить имя объекта без получения его битов типа
2
A
ответ
6
Вы можете воспользоваться услугами компилятора сделать так:
static string GetFriendlyTypeName<T>()
{
var csharpCodeProvider = new Microsoft.CSharp.CSharpCodeProvider();
var codeType = new System.CodeDom.CodeTypeReference(typeof(T));
return csharpCodeProvider.GetTypeOutput(codeType);
}
static void Main(string[] args)
{
Console.WriteLine(GetFriendlyTypeName<Int32>()); //int
Console.WriteLine(GetFriendlyTypeName<UInt32>()); //uint
}
+0
, но кажется, что он хочет получить имя типа из экземпляра объекта (или переменная) –
+2
@ S.Serp Это будет кусок пирога для любого разработчика, просто добавьте значение «T» в качестве параметра в метод «GetFriendlyTypeName» – user3185569
Смежные вопросы
- 1. Изменение типа без изменения битов
- 2. Перевертывание битов без получения отрицательного номера
- 3. Получить имя типа атрибута без «Атрибут»
- 4. Hibernate - получить свойство объекта без получения всего объекта
- 5. Получить метаданные s3 без получения объекта
- 6. Получить имя DbSet из типа объекта класса
- 7. Получить имя типа объекта в Javascript
- 8. Получить тип базового типа без знания его производного типа
- 9. Как получить имя объекта из его идентификатора?
- 10. Получить «имя» для объекта, соответствующего пакету имя и имя объекта
- 11. Как я могу получить имя свойства для типа без необходимости создания экземпляра объекта такого типа?
- 12. Получить имя атрибута из прокси-типа без использования отражений
- 13. JPA Query для получения типа объекта
- 14. VB Получить имя объекта
- 15. Возвращает только имя типа объекта без предшествующих «объектов».
- 16. Java Дженерики Имя параметра типа без необходимости его
- 17. C# Получить имя объекта, не зная его Тип
- 18. Получить имя объекта или класса
- 19. Получить имя файла из объекта объекта
- 20. Как получить имя класса без пакета?
- 21. Как я могу получить system.byte для типа битов MySQL?
- 22. Получить значение объекта типа
- 23. Получить имя объекта щелкнули
- 24. Получить имя объекта
- 25. Как получить имя объекта?
- 26. Получить имя возврата объекта
- 27. Получить имя объекта
- 28. Как получить имя объекта?
- 29. Получить имя экземпляра объекта не имя типа объекта в C# 4.0
- 30. Java: Как получить Unicode имя символа (или его категорию типа)?
Почему именно вы хотите 'unit' вместо' uint32'? Чего вы пытаетесь достичь? – Rob
Хм, нет, вы не получите «int». Попытайтесь приложить минимальные усилия, чтобы опубликовать действующий код. Слова типа 'int' и' uint' являются * ключевыми словами * на языке C#. Переход от имени типа фрейма к ключевому слову, вероятно, лучше всего сделать с помощью оператора switch. Или просто не беспокойтесь, так как это не имеет значения. –
Возможный дубликат [Есть ли способ получить псевдоним типа через отражение?] (Http://stackoverflow.com/a/1363309/2803565) –