Question

je reçois l'exception suivante lorsque je tente d'utiliser un script Ruby pour modifier une liste de chaînes c #.

Exception non gérée: System.ArgumentException:. La valeur "Scott" est pas de type "System.String" et ne peut pas être utilisé dans cette collection générique

c #

IList<string> names = new List<string>();
names.Add("scott");
names.Add("jason");

ScriptRuntime runtime = IronRuby.Ruby.CreateRuntime();
ScriptEngine engine = runtime.GetEngine("IronRuby");
ScriptScope scope = engine.CreateScope();
scope.SetVariable("names", names);
engine.ExecuteFile("test.rb", scope);

foreach (var name in names)
{
   Console.WriteLine(name);
}

ruby ??

names.map! { |item| item.capitalize}
Était-ce utile?

La solution

Ajouter to_clr_string au code ruby:

names.map! { |item| item.capitalize.to_clr_string }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top