Rather than having OtherClassLeftReleasedCb
conform to the signature of the event that you have, write it using the signature that you want it to be:
public double[] OtherClassLeftReleasedCb()
{
//do stuff
myresult = new double[4];
myresult [0] = stuffcomputedbefore[0];
myresult [1] = stuffcomputedbefore[0] - stuffcomputedbefore[0];
myresult [2] = stuffcomputedbefore2[1];
myresult [3] = stuffcomputedbefore2[1] - stuffcomputedbefore[1];
return myresult ;
}
Then have your other class create another method (possibly an anonymous method, if you want) that calls this other method and then possibly does something with the result:
private void MainClassBtn_Click(object sender, RoutedEventArgs e)
{
vtkInteractorObserver istyle = goPreviewer.ImageViewer.GetRenderWindow()
.GetInteractor().GetInteractorStyle();
istyle.LeftButtonReleaseEvt += (s,args) =>
DoSomethingWithArray(OtherClass.OtherClassLeftReleasedCb());
}