class MultiValueFunctionExperiment(object): def MyFunctionWithMultiValues(self): return 1, 2, "Toto" def Demo(self): a, b, s = self. MyFunctionWithMultiValues() print a print b print s e = MultiValueFunctionExperiment() e. Demo()
I like to do the same in C#. Here is the syntax I came with by using a class named MultiValue.
class MultiValueFunctionExperiment { private MultiValue MyFunctionWithMultiValues() { return new MultiValue().Add(1).Add(2).Add("Toto"); } public void Demo() { MultiValue mv = MyFunctionWithMultiValues(); int a = mv.Value<int >(); int b = mv.Value<int >(); string s = mv.Value<string >(); Console.WriteLine(a); Console.WriteLine(b); Console.WriteLine(s); } }
Here is the class MultiValue
class MultiValue { List<object > _values; public MultiValue(){ _values = new List<object >(); } public MultiValue Add(object i) { this ._values.Add(i); return this ; } public T Value<T>() { T i = (T)this ._values[0]; this ._values.RemoveAt(0); return i; } }
No comments:
Post a Comment