Je voudrais avoir une méthode où le paramètre pourrait être Int32
ou Single
:C# passage simple comme référence
void myMethod(ref object x)
{
//...CodeHere
}
Depuis C# ne me permet pas de passer une spécialisation de l'objet lors de l'utilisation out
ou ref
, la solution que je trouve a affirmé que l'attribution de la variable à une variable du type object
serait suffisant:
Single s = 1.0F;
object o = s;
myMethod(ref o);
cela n'a pas fonctionné. Selon la documentation de Microsoft que j'ai regardé, o
devrait être un pointeur vers s
. Les sources que j'ai regardées indiquent que l'attribution de types non-primitifs génère une référence et non une instance new
.
Est-il possible d'avoir une méthode où je peux passer Single
ou Int32
ou tout autre type qui est une spécialisation de object
?
vous avez mal lu tous les documents en boxe que vous aviez en face de vous. Il a généré une instance encadrée à une copie de la valeur d'origine. –