C#

Dispose

C#

Dispose 正式な実装 class SomeClass : IDisposable { public void Dispose() { Dispose(true); GC.SuppressFinalize(this); } protected virtual void Dispose(bool disposing) { if (disposing) { // 管理(managed)リソースの破棄処理をここに記述します…

C#におけるクラス型を引数で受けた時のnull判定

C#

タイプセーフを保証するために、 object ではなくちゃんとしたクラス型で引数を受けたいことがある その際に 指定しなかったパラメタ をどうやって弾くかという話 例えば // a class public class Person { public string Name { get; set; } public int Age…

doxygenとgraphvizによるドキュメント生成

C#

doxygenを使用してC#のドキュメントを自動生成する(その2) qiita.com

dapperはListでwhere-inを表現できる

C#

http://kiyokura.hateblo.jp/entry/2013/12/03/084248

What is the difference between “LINQ to Entities”, “LINQ to SQL” and “LINQ to Dataset”

C#

stackoverflow.com all of them are LINQ - Language Integrated Query - so they all share a lot of commonality. All these "dialects" basically allow you to do a query-style select of data, from various sources. Linq-to-SQL is Microsoft's firs…

C#で動的にコンストラクタを取得(Expression, 式木を使って)

C#

www.palmmedia.de qiita.com neue cc - C#での動的なメソッド選択における定形高速化パターン Don’t use Activator.CreateInstance or ConstructorInfo.Invoke, use compiled lambda expressions | Notes of a Software Pogromist

オブジェクト指向の基礎。同じインスタンスを異なるクラスから参照する

C#

https://www.google.co.jp/#safe=off&q=use+same+instance+c%23

IEnumerable<>, IList<>の使い分け

C#

単に列挙するだけならIEnumerable、リストの参照や操作を行う場合はIList型を指定させ、意図の違いをコード上に表現します。 内部実装を読む事無く、すばやくメソッドの「意図」を把握出来るのはどちらでしょうか? IEnumerableのように、より制限された型を…

Disposeの書き方, usingステートメント

C#

file操作は必ずtry - catch - finally finallyの中でClose()する。 こういうパターン(try句の中でリソースに対して操作を行い finallyでDispose()する)を「Disposeパターン」という。 だが、毎回手でそのパターンを書くのはだるい → usingステートメントと…

ParallelとTask(aync, await)の違い

C#

I/O待ちをするような処理は、非同期版のメソッドを使って、スレッドを作らずに待つことが重要 (非同期版 = Taskクラス+async, awaitによる「待機可能」な書き方のこと) Parallel.ForEach(Common.GetQueries(context, keys), q => { var ret = q.Execute(); …

C#における複数スレッド並列処理(Parallel, PLINQ)

C#

C# による並列プログラミング | iSUS github のサンプルコードが多い。 C#によるマルチコアのための非同期/並列処理プログラミング - Google ブックス 以下の様な書き方で並列「操作」を複数スレッドを利用する例を示している # https://msdn.microsoft.com/…

C#における非同期処理 -Taskクラスとasync/await-

C#

Async および Await を使用した非同期プログラミング (C# および Visual Basic) ※並列処理(Parallelクラス、Parallel LINQ)は別 基本形 // The following line creates and starts the task. var myTask = someWebAccessMethodAsync(url); // While the ta…