クラスにいくつかのダイアログがあり、それらを関数で初期化しようとしています:
private void InitializeFileDialog(ref FileDialog fileDialog)
{
fileDialog.Filter = "Word Documents|*.doc|Excel Worksheets|*.xls|PowerPoint Presentations|*.ppt" +
"|Office Files|*.doc;*.xls;*.ppt" +
"|All Files|*.*";
fileDialog.DefaultExt = "txt";
}
問題は、私がそれを呼び出すときです:
InitializeFileDialog(ref dialog);
error CS1503: Argument 1: cannot convert from 'ref Microsoft.Win32.OpenFileDialog' to 'ref Microsoft.Win32.FileDialog'
キャストしようとしましたが、なぜかキャストできませんでした。どうしたの?FileDialog
抽象的だから?それが理由かどうか調べてみましたが、役立つものは見つかりませんでした。
にある宣言は次のMicrosoft.Win32
とおりです。
public abstract class FileDialog : CommonDialog
public sealed class OpenFileDialog : FileDialog
私もジェネリックを使用しようとしましたが、うまくいきませんでした。私は何が欠けていますか?