none
PowerShell stürzt ab bei Events mit Parametern als Referenz RRS feed

  • Allgemeine Diskussion

  • ich würde gerne über den Event einer C# Klasse ein powerShell Script nach Werten fragen. Dazu habe ich einen Event mit Referenz Parametern in meiner C# Klasse definiert.

    Leider stürzt aber die powerShell immer gnadenlos ab, wenn ich den Event auslöse.

    Definiere ich den Event ohne Parameter Referenzen sondern lediglich per Value dann geht das Script.

    Könnt ihr mir dazu einen Tipp geben?

     

    #Add new Class Type
    Add-Type -TypeDefinition @'
      public class TestClass
      {
        public delegate void SetupEventHandler(ref int value);
    //    public delegate void SetupEventHandler(int value);
        public event SetupEventHandler Setup;
    
        public void fireSetupEvent(int value)
        {
          if (Setup != null)
          {
    				int newValue;
    				newValue = value;
            Setup(ref newValue);
    //        Setup(newValue);
          }
        }
      }
    '@
    
    #Function for the Event
    function global:SetupEventFunction($EventArgs)
    {
      Write-Host "EventFunction Start"
    	Write-Host $EventArgs.SourceArgs.Count
      Write-Host ("Wert 0: {0}" -f $EventArgs.SourceArgs[0])
      Write-Host "EventFunction End"
    }
    
    $testObject = New-Object TestClass
    
    $setupEvent = Register-ObjectEvent -InputObject $testObject -eventName "Setup" -Action {SetupEventFunction($Event)}
    
    [int]$myValue = 200
    
    $testObject.fireSetupEvent($myValue)
    
    Montag, 28. Juni 2010 15:47