J'ai une fonction qui prend un paramètre ref et que j'aimerais utiliser dans une requête linq mais le compilateur se plaint.Utilisation de paramètres ref dans linq
La fonction est appelée rabattement et casse une chaîne vers le haut dans les lignes à partir d'une longueur de ligne, le paramètre ref est utilisé pour garder une trace de l'endroit où il est dans la chaîne sur chaque appel:
string BreakLine(string text, int lineLimit, ref offset);
La requête est:
from pt in productText
let offset = 0
from ll in lineLimits
select new Line() { Text = BreakLine(pt, ll, ref offset) }
(Line est une simple classe de données)
L'erreur est:
"Impossible de transmettre la variable de plage 'offset' comme paramètre out ou ref"
Une solution pour contourner ce problème?
je quittais le type du paramètre par erreur, est en fait que vous l'avez. Suppression du mot-clé ref donne juste une autre erreur car elle ne correspond pas à la signature de la méthode. – user380689