J'examine les paramètres d'une méthode C# en utilisant la réflexion. La méthode a quelques paramètres out et pour ceux-ci je récupère les types, qui ont IsByRef = true. Par exemple, si le paramètre est déclaré comme "out string xxx", le paramètre a le type System.String &. Y at-il un moyen de convertir System.String & en System.String? La solution ne devrait bien sûr pas fonctionner seulement pour System.String mais pour n'importe quel type.Convertir le type par référence C# en le type correspondant non par référence
14
A
Répondre
24
Utilisez Type.GetElementType()
.
Démo:
using System;
using System.Reflection;
class Test
{
public void Foo(ref string x)
{
}
static void Main()
{
MethodInfo method = typeof(Test).GetMethod("Foo");
Type stringByRef = method.GetParameters()[0].ParameterType;
Console.WriteLine(stringByRef);
Type normalString = stringByRef.GetElementType();
Console.WriteLine(normalString);
}
}
Questions connexes
- 1. Type de référence de chaîne C#?
- 2. en utilisant le type retourné par Type.GetType() dans C#
- 3. Comment convertir un objet en type décrit par Type classe?
- 4. Comment convertir un type non géré défini par l'utilisateur en type géré?
- 5. Clonage d'un type de référence C# vers un type de référence dérivé
- 6. Equivalent du type de référence C++ en C#
- 7. Type de référence imbriqué dans le balisage ObjectDataProvider
- 8. Passer une chaîne par référence en Javascript
- 9. passer tableau par référence
- 10. Meilleur moyen de passer par référence de C# à C++?
- 11. Performances du type de référence de tri par rapport aux types de valeur
- 12. Paramètre passé par la référence const renvoyée par la référence const
- 13. C# Comment trouver la taille d'un type de référence
- 14. Expression régulière Ruby pour le format de référence APA correspondant
- 15. 'passe paramètre par référence' dans Ruby?
- 16. Utilisation de tableaux par référence
- 17. Convertir une variable en un type représenté par une autre variable Type?
- 18. Désérialise un objet de session sans référence de type?
- 19. Référence à un type de réfrence en .net?
- 20. Référence non définie dans le même fichier
- 21. Quelle est la meilleure façon de trouver le type correspondant le plus proche d'un type existant?
- 22. Comment un type personnalisé chargé par XAML obtenir une référence à l'objet racine
- 23. Comment puis-je déterminer le type d'une référence bénie en Perl?
- 24. Opérateurs de conversion de type référence: demander des problèmes?
- 25. Le retour par référence rvalue est-il plus efficace?
- 26. Comment résoudre les erreurs de référence de type F #?
- 27. Visual Basic 6.0 En passant par problème de référence
- 28. type de données fourni par l'utilisateur pour le champ SQL
- 29. Comptage de référence en C++
- 30. Comment passer des valeurs par référence dans l'objectif C (iphone)
que je change le titre de "référence" à "par référence"? –
Non, pas de problème pour moi. – Achim