2016-03-22 29 views
1

VBを使用してPodio .Net APIにコーディングしていますが、日付範囲の辞書項目のサンプルC#コードをVB.Netに移植するのが難しいです。ここでは彼らの.NETのAPIクライアントのマニュアルからの抜粋です:日付範囲フィルタのVB.Net構文

var filter = new Dictionary<string, object> 
{ 
    {"somekey", from = new DateTime(2013, 9, 1), to = new DateTime(2013, 9, 30) } 
}; 

私はC#で経験しておりませんので、同等のVBの構文で任意のヘルプをいただければ幸いです。

+1

[c#to VB convertor](http://converter.telerik.com/) – Turnip

+0

@DaveDoknjasこのウェブサイトを何度も "試した" – Turnip

+0

@ urn:私は自分のコメントを削除しました。そのコンバータを試してみると、まずC#コードが有効ではないことがわかりました。 –

答えて

1

オンラインコンバータはこれを非常にうまく処理しません。 SLaksは、2つの日付をDictionary値に組み合わせる拡張メソッドをここで呼び出すことができると述べていましたが、C#ではこれを動作させることができませんでした。

私たちは、あなたがそれを正しくコピーしなかったのどちらかまたはAPIドキュメントが間違っていた、とコードがあることを意図したことと仮定した場合、元のC#コードの意味を理解する唯一の方法は次のとおりです。

var filter = new Dictionary<string, object>() 
{ 
    {"somekey", new { from = new DateTime(2013, 9, 1), to = new DateTime(2013, 9, 30)} } 
}; 

この場合、変換は簡単ですし、あなたのコメントで述べたように、それはあなたのために働いていたものに対応しているようだ:

Dim filter = New Dictionary(Of String, Object)() From { 
    { 
     "somekey", New With { 
      Key .from = New Date(2013, 9, 1), 
      Key .to = New Date(2013, 9, 30) 
     } 
    } 
} 

かつ公正であるためには、前述のオンラインコンバータは、この調整後のC#コードの罰金を変換しません。

+0

実際には、これが拡張メソッドであれば、VBに変換することは不可能です。それは譲渡であり、平等ではありません。 – SLaks

+0

デイヴに応答していただきありがとうございます。その間、私は辞書エントリ{"somekey"、{Key.from = fromarg、Key。to = toarg}で新しくVB.Net構文を使って動作させることができました。 –

+0

@SLaks:それは割り当てですが、それは問題ありませんこのVB構造内にあります。 –