Y a-t-il une énumération dans C# qui contient les types de données C#? Alors que je peux définir une propriété dans une classe qui accepte le type de données (int, string) de l'utilisateur.C# Enum pour les types de données
Répondre
Il n'y a rien de tel dans le BCL.
Pourquoi en avez-vous besoin?
Il y a DataType enum dans l'espace de noms System.ComponentModel.DataAnnotations mais il a des valeurs comme PhoneNumber, EmailAddress etc. – Novice
@Daniel Joseph - ce ne sont pas seulement des types _primitive_, comme vous l'avez demandé. Et cet Enum est là pour prendre en charge les contrôles ASP.NET MVC et Dynamic Data (afin qu'ils puissent également être annotés pour être utilisés sur _other_ platforms). – Oded
Il y a l'enum 'System.TypeCode' pour les types primitifs. –
En fonction de vos sons d'édition comme vous avez besoin generics mais je demande encore pourquoi une propriété serait un int ou une chaîne. Ce sont vraiment des choses très différentes qui ne peuvent que mener à la prévision. Voulez-vous simplement associer une valeur enum à une chaîne?
Vous souhaiterez peut-être utiliser l'attribut Description
.
public enum MyEnum
{
[Description("My first value.")]
FirstValue,
[Description("My second value.")]
SecondValue,
[Description("My third value.")]
ThirdValue
}
private string GetEnumDescription(Enum value)
{
FieldInfo fi = value.GetType().GetField(value.ToString());
DescriptionAttribute[] attributes = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
if (attributes.Length > 0)
{
return attributes[0].Description;
}
else
{
return value.ToString();
}
}
Une autre possibilité pour définir une cartographie serait d'utiliser un Dictionary<int, string>
.
Il existe une propriété booléenne de Type-type "IsPrimitive" qui peut vous aider.
Pourquoi avez-vous besoin de cela? La propriété est déjà un "filtre" pour le type de données qu'elle peut accepter.
Jetez un oeil à:
Malheureusement, le cadre n'a pas un tel ENUM, vous devrez créer à la main (comme nous l'avons fait que nous avons eu le même besoin que vous).
Cordialement.
Génial. Alors ... comment avez-vous créé cette énumération? – Ellesedil
Classe statique avec constantes avec les types. –
Je suppose que je n'étais pas assez évident. Votre réponse pourrait être meilleure. Vous suggérez un chemin pour résoudre le problème sans aucun détail sur la façon de s'y prendre. Un exemple de code serait probablement utile pour faire passer votre message. – Ellesedil
Il y a le TypeCode Enumeration dans le système. On dirait qu'il couvre tous les types de base.
Vous pouvez obtenir le TypeCode pour tout objet en utilisant Type.GetTypeCode():
TypeCode typeCode = Type.GetTypeCode(anObject.GetType());
Ceci devrait être la réponse acceptée. –
- 1. Types de données MySQL: int contre enum
- 2. Structure de données enum C++
- 3. PowerShell - Onglet Valeur du paramètre Expansion pour les types Enum
- 4. PostgreSQL et les types de données C#
- 5. Utilisation de types de données dans une déclaration enum
- 6. Toute bibliothèque pour les types de données génériques dans C?
- 7. Comment puis-je utiliser des types enum C++ comme C#?
- 8. Comment ajouter un paramètre pour les types enum postgres en C#
- 9. Bibliothèque de types de données variable pour C
- 10. Types de données C# et types de données MySql
- 11. C# initialisation explicite pour Enum
- 12. Comment obtenir un accès global aux types enum en C#?
- 13. C# Drapeau delimiter Enum
- 14. Types de données énumérés et API de classe en C++
- 15. Set In enum pour C#
- 16. Alternative aux types enum dans PHP5?
- 17. Puis-je surcharger les opérateurs sur les types enum en C++?
- 18. lors de l'utilisation ENUM pour les opérateurs comme +, - en c
- 19. Simple calcul de C# - types de données
- 20. En utilisant Enum pour en C#
- 21. C# ITypeResolutionService pour les types construits
- 22. Enum ou typedef avec des types
- 23. C# explicite chaîne de CAST pour ENUM
- 24. Types de données natifs C# vs types CTS .NET
- 25. C# datatypes -> types de données oracle
- 26. Comment lier des types Enum à DropDownList?
- 27. C++ et son système de types: Comment traiter des données avec plusieurs types?
- 28. C# - Obtenir les types de champs
- 29. Type de liste pour stocker les types de données Multipe
- 30. Coulée SqlDataType à C# Enum
Je suis un peu peur à l'idée de la raison pour laquelle vous voudriez, mais non, je ne pense pas qu'il y est ... – annakata
Avez-vous besoin d'un équivalent d'union en C#? –