| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
*完全な型となるためには、型パラメータが指定されなければならない
====制約====
*型パラメータで、コンストラクタを使用する
*:型引数が特定の要請を満たさなければならいことを明示できる
public static class Deferred<T> where T : new() {
*プロパティを最初に読みだすまでインスタンスは構築されない
*T は、引数なしのコンストラクタを供給する必要がある
 
/// <summary>
/// モデルからDTOを生成する
/// モデルがnullの場合、nullを返す
/// </summary>
/// <param name="model"></param>
/// <typeparam name="D"></typeparam>
/// <returns></returns>
public static D? FromModel<D>(T model) where D: ModelBaseDto<T>, new()
{
if (model == null)
{
return default(D);
}
var dto = new D();
dto._model = model;
return dto;
}
 
====型制約====
*特定の型と互換

案内メニュー