dynamicなメソッド
dynamicってメソッドの戻り値にも指定できたんですね。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DynamicFuncSample { class Program { public static dynamic Func(int n) { // 偶数ならint、奇数ならstringを返す if (n % 2 == 0) return 0; else return "0"; } static void Main(string[] args) { // 同じメソッドを異なる型で受ける int x = Func(2); string y = Func(3); var mi = typeof(Program).GetMethod("Func"); // 戻り値の方はObject Console.WriteLine(mi.ReturnType); } } }
なんか、とても違和感があります・・・