我想VB .NET代碼轉換爲C#,但我有下面的代碼的問題:如何從vb轉換此代碼。淨到C#?
Dim MI_Display_Channel As New MethodInvoker(AddressOf display_channel)
Private Sub display_channel()
TextBox1.Text = fv_channel
End Sub
我如何這段代碼轉換成C#?
我想VB .NET代碼轉換爲C#,但我有下面的代碼的問題:如何從vb轉換此代碼。淨到C#?
Dim MI_Display_Channel As New MethodInvoker(AddressOf display_channel)
Private Sub display_channel()
TextBox1.Text = fv_channel
End Sub
我如何這段代碼轉換成C#?
從here,你會得到這樣的:
MethodInvoker MI_Display_Channel = new MethodInvoker(display_channel);
private void display_channel()
{
TextBox1.Text = fv_channel;
}
我不知道爲什麼它是困難的。
它看起來像一個實例字段上的字段初始值設定項,其中使用了另一個實例成員(在'this'上)。這是不允許的。請嘗試編譯它!說'新的DelegateType(...)'是相當多餘的;可以使用方法組轉換。爲什麼一個實例成員使用多餘的'private'修飾符,而另一個實例成員忽略它?另請參閱我的答案。 –
@JeppeStigNielsen是的,你有一個好點 - 我沒有嘗試編譯,應該有。你的回答更好,所以你會得到我的讚賞。我將在此留下轉換鏈接。 –
我看到兩個答案機器翻譯在哪裏,顯然,一個實例字段的字段初始值設定項引用該類的實例成員。這是不允許的。
要明確:
class Xxx
{
MethodInvoker MI_Display_Channel = display_channel; // compile-time error!
void display_channel()
{
TextBox1.Text = fv_channel;
}
}
將無法編譯。當字段初始化不允許在字段初始值設定項中使用構造函數:
class Xxx
{
public Xxx() // other instance constructors may want to chain : this()
{
MI_Display_Channel = display_channel; // fine
}
MethodInvoker MI_Display_Channel; // no initializer here
void display_channel()
{
TextBox1.Text = fv_channel;
}
}
我很驚訝這個問題還沒有結束。 – Cilan
你的問題是什麼? –
如果您遇到代碼問題,如何將其轉換爲C#幫助?它仍然是相同的問題相同的代碼! – Jashaszun