2016-09-29 4 views
3

私はプロジェクトに取り組んでいます。私はこの大量のコードで悩まされています。私はCreateEcuDetailsメソッドは、パラメータを指定することなく、ラムダ式から呼び出されたかを理解していないラムダ式の中でメソッドを呼び出す方法は?

...

var ecuList = new List<EcuDetails>(); 

var distinctEcuType = (from c in convertedEcuType 
    select c.ShortEcuType).Distinct().ToList(); 
ecuList.AddRange(distinctEcuType.Select(CreateEcuDetails).OrderBy(x => x.Name)); 

private EcuDetails CreateEcuDetails(string ecuType) 
{ 
    return new EcuDetails 
    { 
     Name = ecuType, 
     ImportPath = ecuType, 
     LogicalPath = "Ecu Type" 
    }; 
} 

このコードはすでに書いていると私はこれに似た何かを記述する必要がありますがCreateEcuDetailsはなります別の文字列であるもう1つのパラメータを取得する必要がありますが、私が言ったように、私はそのメソッドがどのように動作するのか分かりませんし、メソッドにもう一方のパラメータを追加するともう動作しません...

私がしたいのは、ecModelとecuTypeの2つの要素でecuListを並べ替えることです。

誰かが私を助けることができたら、私はとても感謝しています。

ありがとうございました!

答えて

3

ラムダの代わりにメソッドグループを指定できるという構文的な砂糖機能を使用しているだけです。だから、コード:

distinctEcuType.Select(CreateEcuDetails) 

を効果的にコンパイラによって以下に翻訳さ:

distinctEcuType.Select(x => CreateEcuDetails(x)) 
関連する問題