webForumDet fria alternativet

Hjälp att översätta till VB.NET

.NET

2 svar · 371 visningar · startad av Nickemannen

Medlem sedan aug. 20003 575 inlägg
Frågan#1

Jag har denna koden jag vill översätta till VB.NET kod.

        private static void OnCommandChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            CommandReference commandReference = d as CommandReference;
            ICommand oldCommand = e.OldValue as ICommand;
            ICommand newCommand = e.NewValue as ICommand;

            if (oldCommand != null)
            {
                oldCommand.CanExecuteChanged -= commandReference.CanExecuteChanged;
            }
            if (newCommand != null)
            {
                newCommand.CanExecuteChanged += commandReference.CanExecuteChanged;
            }
        }

Allt fungerar jättebra förutom dessa rader.

                oldCommand.CanExecuteChanged -= commandReference.CanExecuteChanged;
                newCommand.CanExecuteChanged += commandReference.CanExecuteChanged;

Såhär har jag försökt att göra men det fungerar inte

      RemoveHandler oldCommand.CanExecuteChanged, AddressOf commandReference.CanExecuteChanged
      AddHandler newCommand.CanExecuteChanged, AddressOf commandReference.CanExecuteChanged

Den klagar på att commandReference.CanExecuteChanged inte är någon metod.
Men varför fungerar det då i C#? Det är egentligen ytterligare ett event så jag antar att man kedjar eventsen med varandra i C# men det borde ju även gå att göra något liknande i VB?

Medlem sedan juni 20019 519 inlägg
#2
      RemoveHandler(oldCommand.CanExecuteChanged, AddressOf commandReference.CanExecuteChanged)
      AddHandler(newCommand.CanExecuteChanged, AddressOf commandReference.CanExecuteChanged)

Du behöver () skulle jag gissa.

Medlem sedan aug. 20003 575 inlägg
#3

voigtann1 skrev:

      RemoveHandler(oldCommand.CanExecuteChanged, AddressOf commandReference.CanExecuteChanged)
      AddHandler(newCommand.CanExecuteChanged, AddressOf commandReference.CanExecuteChanged)

Du behöver () skulle jag gissa.

Samma fel

268 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)