コード例 #1
0
ファイル: ArrayType.cs プロジェクト: PlumpMath/CILI
        public static ArrayType Instance(CilType type)
        {
            if (type == null)
            {
                return(ReferenceType);
            }
            if (ArrayMap.ContainsKey(type))
            {
                return(ArrayMap[type]);
            }
            var result = new ArrayType(type);

            ArrayMap.Add(type, result);
            return(result);
        }
コード例 #2
0
 public void Add <T>(Func <T> func)
 {
     ArrayMap.Add(typeof(T), () => new[] { func.Invoke() }.Select(e => (object)e));
 }
コード例 #3
0
 public void Add <T>(Func <IEnumerable <T> > func)
 {
     ArrayMap.Add(typeof(T), () => func.Invoke().Select(e => (object)e));
 }