このコードをVB.NETからC#に翻訳する際に問題があります。このコードは、データベースの列の各セルから値を取ることになっています(column1と呼ぶ、データ型はdatetimeなので、形式はこのようです:12/19/2011 7:42:30 PM)。 Datetime.Nowとgridviewコントロールの各行のcolumn1の値の間のタイムスパンを検索します。それが動作このコードをVB.NETからC#に変換するには? (翻訳者が動作していません)
Protected Function TimeSpan(ByVal Duration As DateTime) As TimeSpan
Dim date1 As DateTime = Duration
Dim date2 As DateTime = DateTime.Now
Dim ts As TimeSpan = (date2 - date1)
Return ts
End Function
そしてVB.NETで、私は、C#にそれを翻訳しようとすると:
<asp:TemplateField HeaderText="TimeSpan">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# TimeSpan(IIf(IsDBNull(Eval("column1")), DateTime.Now,Eval("column1"))) %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
と分離コードのために:いくつかの男は私にVB.NETで完璧に動作します。このコードを与えました
- '_Default.TimeSpan(System.DateTime)'に最適なオーバーロードされたメソッドが無効な引数を持っています - 引数1: 'オブジェクト'から 'オブジェクト'に変換できません。 System.DateTime '
誰か助けてもらえますか?コードのための翻訳?それとも私がやりたいことをする別の方法? おかげ
編集:これは(私が翻訳者を使用して取得するC#で、)コードであり、実際に私が前に述べた例外与えコードです:
<asp:TemplateField HeaderText="TimeSpan">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# TimeSpan((Information.IsDBNull(Eval("column1")) ? DateTime.Now : Eval("column1")))
%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
そして、背後にあるコードのために:
protected TimeSpan TimeSpan(DateTime Duration)
{
DateTime date1 = Duration;
DateTime date2 = DateTime.Now;
TimeSpan ts = (date2 - date1);
return ts;
}
これを翻訳しようとしたC#コードは見えますか? – BoltClock
その関数のパラメータの命名は信じられないほど誤解を招くようです。あなたは**開始時間**を過ぎて**持続時間**を返しています。 –
名前は私の脳を傷つけます。 'Duration'と呼ばれる' DateTime'と、 'TimeSpan'と呼ばれるメソッドです。関数は 'Age'のように呼び出されるべきです。 – CodesInChaos