C# 3.0 Supplemental Library: Achiral
- 1.0.0.0 系
- 1.1.0.0 系
- 1.2.0.0 系
- 公開するのを忘れていた
- 1.3.0.0 系 (XNA 3.0 対応)
- 4.0.0.0 系 (.NET Framework 4.0 専用)
C# 3.0 用に今までだらだらと書いてきた Extension Methods と型推論用 Generic Methods を軽くまとめてみた.興味がある方はご自由にどうぞ.
型推論用 Generic Methods は Achiral.Make という static class に集約.続きは IntelliSense とソースコードで.
Extension Methods を使うには以下の using 文を追加すれば OK.
using Achiral.Extension;
使用例
mscorlib.dll にある全ての型の継承ツリーを表示.
using System; using System.Collections.Generic; using System.Linq; using System.IO; using Achiral; using Achiral.Extension; static class Program { static void Main(string[] args) { var asm = typeof(int).Assembly; var children = asm.GetTypes().Where(type => type.BaseType != null) .ToLookup(type => type.BaseType, type => type); var q = Make.Sequence(typeof(object)) .CascadeDepthFirst(type => children[type], (Type, NestLevel) => new { Type, NestLevel }); q.ConsoleWriteLine(item => new string(' ', 3 * item.NestLevel) + item.Type.FullName); } }
参考
- Extension Methods API - Codeplex
- 似たことをやっている人