Frage

Ich erhalte die folgende Ausnahme, wenn ich versuche, ein Ruby -Skript zu verwenden, um eine Liste von C# -Schaiteins zu ändern.

Unbeschriebene Ausnahme: System.ArgumentException: Der Wert "Scott" ist nicht vom Typ "System.String" und kann in dieser generischen Sammlung nicht verwendet werden.

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);
}

Rubin

names.map! { |item| item.capitalize}
War es hilfreich?

Lösung

Hinzufügen to_clr_string zum Ruby -Code:

names.map! { |item| item.capitalize.to_clr_string }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top