Je crée une classe qui appelle une fonction de rappel et je veux qu'elle transmette certaines données dans certains cas, mais ces données peuvent varier. En C++, j'utiliserais void* mais en C#, ce n'est pas sûr et cela signifie qu'il pourrait être GCed. Existe-t-il un moyen de transmettre des données de type inconnu en C# ?
Réponses
Trop de publicités?Vous avez deux options :
Génériques (qui vous permettent de spécifier le type lorsque vous appelez la méthode... et l'objet sera correctement typé dans la méthode).
// Definition:
public void MyMethod<T>(T myParameter)
{
/* My Code */
}
// Call:
MyMethod<int>(999);
// Call:
MyMethod<bool>(false);
Ou System.Object (ce qui signifie que vous devrez vérifier le type réel de l'objet dans votre méthode et effectuer un cast approprié).
// Definition:
public void MyMethod(Object myParameter)
{
/* My Code */
}
// Call:
MyMethod(999);
// Call:
MyMethod(false);
Joe
Points
18328
Adam Driscoll
Points
5117
Sean
Points
22088
james_bond
Points
2592
- Réponses précédentes
- Plus de réponses