如何在类中声明静态函数?

Sam*_*tar 0 c#

我想在下面编写一个方法:

namespace WebUx.Helpers.CSharp
{
    public class getExceptionMessage
    {

        < Method here >

        var exError = e.Message;
                    if ( e.InnerException != null ) {
                        exError += "<br>" + e.InnerException.Message;
                        if (e.InnerException.InnerException != null ) {
                            exError += "<br>" + e.InnerException.InnerException.Message;
                        }
                    }
    }
}
Run Code Online (Sandbox Code Playgroud)

有人能告诉我应该如何声明类和方法.我对如何最好地宣布我感到困惑,我认为它应该是静态的,但不确定是否有更好的方法.请注意,我希望这个方法可以从我的代码中的许多地方调用.我想我应该返回一个值为exError的字符串.

ken*_*n2k 5

为了避免可以在代码中的任何地方使用的那些"帮助类",我会编写一个扩展方法:

public static class ExceptionExtensions
{
    public static string GetFormattedErrorMessage(this Exception e)
    {
        if (e == null)
        {
            throw new ArgumentNullException("e");
        }

        var exError = e.Message;
        if (e.InnerException != null)
        {
            exError += "<br>" + e.InnerException.Message;
            if (e.InnerException.InnerException != null)
            {
                exError += "<br>" + e.InnerException.InnerException.Message;
            }
        }

        return exError;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后:

try
{
}
catch (Exception ex)
{
    string msg = ex.GetFormattedErrorMessage();
}
Run Code Online (Sandbox Code Playgroud)

我个人不太喜欢所有这些StringHelper,ExceptionHelper,FormHelper...类时的唯一目的是提供相关的特定类型的静态方法.扩展方法是为了这个特定目的而制定的.