1
我正在構建一個C#Windows窗體應用程序,該應用程序將從給定目錄加載音樂文件,對它們執行一些操作並保存它們。如何設計應用程序 - 將應用程序選項值傳遞到自定義函數
我有一個具有音樂特定方法(函數)的自定義類。我已經在主窗體類中創建了它的實例,用給定的參數調用這些方法。這些方法不僅需要數據來處理(即文件路徑),但有時他們還需要從應用程序選項(即應用程序應從給定目錄加載哪些音樂文件擴展名)加載一些值。加載這些選項的最佳方法是什麼?
我應該在主窗體類中創建一個options類的實例,並將整個實例傳遞給我調用的每個函數(方法)?還是應該將選項類實例存儲在我的自定義音樂課程中?
主類:
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)
{
....
}
}
}
都沒有。您可能想了解MVP模式。 – 2013-05-07 21:56:46