user schrieb:
> private void ProgressBar(int nProgress)
> {
> FormFTSLichtmodulTool.ProgressBarChangedEventHandler
> handlerProgressBar;
>
> if (this.progressBar_Upload.InvokeRequired)
> {
> handlerProgressBar = new
> FormFTSLichtmodulTool.ProgressBarChangedEventHandler(this.ProgressBar);
> object[] args = { nProgress };
> this.progressBar_Upload.BeginInvoke(handlerProgressBar,
> args);
> }
> else
> {
> this.progressBar_Upload.Value = nProgress;
> this.progressBar_Upload.Refresh();
> }
> }
Benenne Sie um und mach eine Extension Method draus.
geht dann so (ohne diesen ganzen Invoke Kram):
1 | public static class extentions{
|
2 | public static void updateProgress(this ProgressBar bar, int newValue){
|
3 | bar.Value = newValue;
|
4 | }
|
5 | }
|
Beachte: Statische Klasse, Statische Methode
Aufrufen kannst du das dann als wäre es eine Methode der ProgressBar
Klasse
1 | ProgressBar bar = new ProgressBar();
|
2 | bar.updateProgress(100); // der Zeiger auf das Object wird implizit mit übernommen.
|
Hinweis: So geil die ExtentionMethods sind, so sparsam sollte man sie
eigentlich einsetzten. Das kann sonst ein ziemliches Chaos geben, weil
Code an stellen steht, an denen man ihn nicht erwartet.
Grüße,