将方法中的Args传递给C#中的Click事件方法

pav*_*ave 2 c#

首先,我最熟悉Java编码.我正在用C#创建一个应用程序作为学习工具.在这个应用程序中,我从Click事件方法调用一个方法.

    private void btnViewFile_Click(object sender, EventArgs e) {
        GetFileNames();
        lblOutputPath.Text = sb;
    }

    private StringBuilder GetFileNames() {
        StringBuilder sb = new StringBuilder();
        string[] fileNames = Directory.GetFiles(Dir);
        foreach (string s in fileNames)
            sb.Append(s);

        return sb;
    }
Run Code Online (Sandbox Code Playgroud)

我想打破从Click方法中获取目录中每个文件的FileNames的代码,以使其更加模块化.我将获得StringBuilder对象的值,然后将其传递回Click事件方法.

这就是我无论如何都会用Java做的.这是一个有效的方法还是有更好的方法来做到这一点?

Jon*_*n B 5

我想这就是你要做的事情:

private void btnViewFile_Click(object sender, EventArgs e) 
{               
    lblOutputPath.Text = GetFileNames().ToString();    
}    

private StringBuilder GetFileNames() 
{        
    StringBuilder sb = new StringBuilder();        
    string[] fileNames = Directory.GetFiles(Dir);        
    foreach (string s in fileNames)            
        sb.Append(s);        
    return sb;    
}
Run Code Online (Sandbox Code Playgroud)