0

私はこのコードを使用します:

 MethodInvoker TileLoadCompleteMethodInvoker = delegate()
{
    CleanStatusLabelTimer.Enabled = true;
    MemoryTextBox.Text = string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0:0.00} MB of {1:0.00} MB", MainMapControl.Manager.MemoryCache.Size, MainMapControl.Manager.MemoryCache.Capacity);
};
try
{
    BeginInvoke(TileLoadCompleteMethodInvoker);
}
catch (TargetInvocationException ex)
{
    BLL.FunctionsClass.LogExceptions(ex.InnerException);
}

LogExceptionsメソッドはここにあります:

    public class LogExceptions
{
public static void WriteLogException(Exception exMsg)
{
    string filePath = Application.StartupPath + "\\ExceptionLog.log";
    using (System.IO.StreamWriter file = new System.IO.StreamWriter(filePath, true))
    {
        file.WriteLine("-------------------Exception Begin----------------------");
        file.WriteLine(string.Format("Date: {0}, Time: {1}", DateTime.Now.ToShortTimeString()));
        file.WriteLine(string.Format("Exception Message: {0}", exMsg.ToString()));
        file.WriteLine(string.Format("Source: {0}", exMsg.Source));
        file.WriteLine("-------------------Exception End----------------------");
        file.WriteLine();
    }
}
}

このメソッドは、例外をログファイルに保存します。ただし、このエラーはLogExceptionsメソッドを呼び出すときに発生しました。 呼び出し不可能なメンバー'IslamAtlas.BLL.FunctionsClass.LogExceptions'をメソッドのように使用することはできません。 どうすればこれを修正できますか?ありがとう。

4

2 に答える 2

1

メソッドではなく、クラスを呼び出しています。
代わりにこれを使用してください:

BLL.FunctionsClass.LogExceptions.WriteLogException(ex.InnerException);

詳細:ここに別のエラーがあります:

string.Format("Date: {0}, Time: {1}", DateTime.Now.ToShortTimeString()

2 つの引数で呼び出しString.Formatますが、渡すのは 1 つだけです!

ますます:この行

string.Format("Exception Message: {0}", exMsg.ToString())

私の意見である必要があります

string.Format("Exception Message: {0}", exMsg.Message)
于 2012-06-18T09:52:48.567 に答える
0

あなたはそれを次のように呼んでいます:

BLL.FunctionsClass.LogExceptions.WriteLogException(ex.InnerException);
于 2012-06-18T09:52:38.440 に答える