c# - Sending status message from one class to my Main method -


i have class lengthy foreach loop may take minute or more run, depending on number of records parsing , inserting, updating,etc..

so have 1 class this:

public class filemaneger {     public bool parsefile()    {        // ....stuff        foreach(datarow row in rows)        {             // stuff        }    } } 

and in program.cs main method:

filemanager manager = new filemanager(); console.writeline("parsing started..."); manager.parsefile(); console.writeline("parsing finished."); 

so thinking maybe in between of 2 messages can show few more feedback, example put counter in foreach loop , every 50 rows passes print console message "parsing rows 1 50 6500 rows", "parsing rows 51 100 6500 rows", etc...

so think need write sort of event not experienced events, can part?

here started. can use delegates.

public class filemaneger {    public action<string> trace {get;set;}    public bool parsefile()    {        // ....stuff        foreach(datarow row in rows)        {             // stuff             this.trace("send message this");         }    } } 

then in main

filemanager manager = new filemanager(); console.writeline("parsing started..."); manager.trace = (msg)=>console.writeline(msg); new thread(()=>{manager.parsefile();}).start(); //    console.writeline("parsing finished."); let file parser emit message 

Comments

Popular posts from this blog

java - Intellij Synchronizing output directories .. -

git - Initial Commit: "fatal: could not create leading directories of ..." -