0
私は5つの変数を受け取り、すべてオプションの5つのパラメータを受け入れるサービスを呼び出します。受け取った変数のいずれかがnull
であれば、サービスコールでそれを使用したくないので、サービスはそれを気に入らず、GetFook'dExceptionをスローします。私はサービスがそれ自身のデフォルト値で空白を埋めるようにする必要があります(彼らが何であるかはわかっていますが、私の知識がなくても変更される可能性があります)。変数のどれもnull
をしない場合例えば、私はこれをしたい:nullでない場合、オプションのパラメータのみを含めるためのエレガントな方法
public List<Stuff> GetStuff(string type1, string type2, bool? isX, bool? isY, bool? isZ)
{
return SomeService.GiveMeTheStuff(type1, type2, isX.Value, isY.Value, isZ.Value)
}
しかし、例えばtype2
とisY
はnull
をしている場合、私は名前付きパラメータでこれをしたい:
public List<Stuff> GetStuff(string type1, string type2, bool? isX, bool? isY, bool? isZ)
{
return SomeService.GiveMeTheStuff(type1param: type1, isXparam: isX.Value, isZparam: isZ.Value)
}
をどのように行います32の可能なすべてのバリエーションを経ずにこのことをやってみましょうか?
あなたはSomeService.GiveMeTheStuff' 'オーバーコントロールを持っていますか? 'GiveMeTheStuff'の実際のメソッドシグネチャは何ですか? – Eris
私はSomeServiceを制御できません。これは[メタデータからの]定義です: 'List GiveMeTheStuff(string type1param ="% "、string type2param ="% "、bool isX = false、bool isY = false、bool isZ = false) ' –
st3inn
これを試してください:type1param:type1 == null? "abc":type1 – jdweng