関数の7つのオーバーロードを持つコードを使用していますTraceWrite
:
void TraceWrite(string Application, LogLevelENUM LogLevel, string Message, string Data = ""); void TraceWrite(string Application, LogLevelENUM LogLevel, string Message, bool LogToFileOnly, string Data = ""); void TraceWrite(string Application, LogLevelENUM LogLevel, string Message, string PieceID, string Data = ""); void TraceWrite(string Application, LogLevelENUM LogLevel, string Message, LogWindowCommandENUM LogWindowCommand, string Data = ""); void TraceWrite(string Application, LogLevelENUM LogLevel, string Message, bool UserMessage, int UserMessagePercent, string Data = ""); void TraceWrite(string Application, LogLevelENUM LogLevel, string Message, string PieceID, LogWindowCommandENUM LogWindowCommand, string Data = ""); void TraceWrite(string Application, LogLevelENUM LogLevel, string Message, LogWindowCommandENUM LogWindowCommand, bool UserMessage, int UserMessagePercent, string Data = "");
(パブリックの静的な名前空間のノイズはすべて、上と全体で省略されています。)
したがって、その背景で: 1) 他の場所では、4 つの引数を使用し
て呼び出します: 、および次のエラーが発生します。TraceWrite
string, LogLevelENUM, string, bool
エラー CS1502: 'TraceWrite(string, LogLevelENUM, string, string)' に最適なオーバーロードされたメソッドの一致には、無効な引数が含まれています エラー CS1503: 引数 '4': 'bool' から 'string' に変換できません
この呼び出しが 2 番目のオーバーロードに解決されないのはなぜですか? ( TraceWrite(string, LogLevelENUM, string, bool, string = "")
)
2) で呼び出す場合TraceWrite
、string, LogLevelENUM, string, string
どのオーバーロードが呼び出されますか? 一代目か三代目?なぜ?