我正在构建一个 C# Windows 窗体应用程序,它将从给定目录加载音乐文件,对这些文件进行一些操作并保存它们。
我有一个带有音乐特定方法(功能)的自定义类。我在主窗体类中创建了它的实例,以使用给定的参数调用这些方法。这些方法不仅需要使用数据(即文件路径),而且有时它们还需要从应用程序选项中加载一些值(即应用程序应从给定目录加载哪些音乐文件扩展名)。加载这些选项的最佳方法是什么?
我是否应该在主窗体类中创建一个选项类的实例并将整个实例传递给我调用的每个函数(方法)?或者我应该将选项类实例存储在我的自定义音乐类中?
主类:
public partial class mainForm : Form
{
private MusicFunctions mf = new MusicFunctions();
public mainForm()
{...}
private void openToolStripMenuItem_Click(object sender, EventArgs e)
{
...
mf.loadMusicFiles(path, true);
// btw what's the best approach to load data into form objects (i.e. DataGridView)? Should I pass those as arguments to my functions or create a new object in my custom function and return it as a function return value?
}
private void optionsChangeButton_Click(object sender, EventArgs e)
{
// I would have to create functions inside musicFunction class to be able to change options
int a = 10;
mf.ChangeOptions(a);
...
}
}
MusicFunctions 类
public class MusicFunctions
{
private MyOptions options;
public class MusicFunctions()
{
options = new Options();
}
public void loadMusicFiles(string filepath, bool includeSubfolders = false)
{
foreach (string ext in options.Extensions)
{
....
}
}
}