Sprawdzam parametry metody C# za pomocą odbicia. Metoda ma pewne parametry wyjściowe i dla nich otrzymuję typy zwrotne, które mają wartość IsByRef = true. Na przykład, jeśli parametr jest zadeklarowany jako "out string xxx", parametr ma typ System.String &. Czy istnieje sposób przekonwertowania System.String & z powrotem do System.String? Rozwiązanie powinno oczywiście nie tylko działać dla System.String, ale dla dowolnego typu.Konwertuj typ C# by-reference na zgodny nieindencyjny typ
14
A
Odpowiedz
24
Użyj Type.GetElementType()
.
Demo:
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);
}
}
Powiązane problemy
- 1. Konwertuj bajt [] na Typ bufora
- 2. Konwertuj typ "System.Dynamic.DynamicObject na System.Collections.IEnumerable
- 3. json4s: Konwertuj typ na JValue
- 4. Konwertuj na typ w locie w języku C# .NET
- 5. Konwertuj podstawowy wektor typu C++ na prymitywny typ tablicy java
- 6. Konwertuj typ MIME na plik Rozszerzenie PHP
- 7. Konwertuj typ logiczny na podwójny w Fortranie
- 8. Konwertuj z ciąg na dowolny podstawowy typ
- 9. Konwertuj void ** wskaźnik na równoważny typ Java
- 10. Konwertuj wsadowo kolumny na typ numeryczny
- 11. Typ ogólny zgodny z protokołem w Swift
- 12. Typ nie jest zgodny z protokołem
- 13. Swift ogólny typ zgodny z dwoma protokołami
- 14. Typ funkcji C++?
- 15. C hex stały typ
- 16. typ klasy Objective C
- 17. C++ typ konwersji problem
- 18. Konwertuj kolekcję na listę lub typ danych używany z Linq
- 19. PostgreSQL 9.2 - Konwertuj ciąg tekstowy TEKST na typ json/hstore
- 20. Konwertuj typ kolumny DataFrame z ciągu na datetime
- 21. Typ obietnica typ rodzajowy
- 22. Uniwersalny Parse na prymitywny typ C#
- 23. Typ argumentu nie jest zgodny z CLS, dlaczego?
- 24. Typ CCC nie jest zgodny z protokołem "NSObjectProtocol"
- 25. Typ Rzucanie obiektu przy użyciu obiektu "Typ" w języku C#
- 26. Kiedy jest typ wartości/odniesienie typ ograniczenia użyteczne w C#?
- 27. Typ indeksu tablicy w C#?
- 28. C# typ grupy metoda wnioskowania
- 29. C++ przeciążenie typ zwracany włamać
- 30. Na Pustki typ zwracany
Mogę zmienić tytuł z "odniesienia" do "by-reference"? –
Nie, nie ma problemu dla mnie. – Achim