2

「文字列」などのいくつかの単純な拡張メソッドを含む、単純なヘルパーメソッドを多数含む Helpers という静的クラスがあります。

public static string AddSquareBrackets(this string str)
{
     return "[" + str + "]";
}

次のようなテストクラスとメソッドがあります。

[TestMethod()]
public void AddSquareBracketsTest()
{
     Assert.AreEqual("[NAME]", "NAME".AddSquareBrackets());
}

デフォルト (コードなし) コンストラクターで宣言された静的クラス:

namespace Equinoxe.Utilities.Helpers
{
    public static class HELPERS
    {

AddSquareBrackets への呼び出しは、次をスローします。

System.TypeInitializationException was unhandled by user code
  Message=The type initializer for 'XXX.Utilities.Helpers.HELPERS' threw an exception.
  Source=XXX.Utilities
  TypeName=XXX.Utilities.Helpers.HELPERS
  StackTrace:
       at XXX.Utilities.Helpers.HELPERS.AddSquareBrackets(String str)
       at XXX.Utilities.Test.HELPERSTest.AddSquareBracketsTest() in C:\DEVELOPMENT\PROJECTS\XXX.NavEgate\XXX.Utilities.Test\HELPERSTest.cs:line 77
  InnerException: System.NullReferenceException
       Message=Object reference not set to an instance of an object.
       Source=XXX.Utilities
       StackTrace:
            at XXX.Utilities.Helpers.HELPERS..cctor() in C:\DEVELOPMENT\PROJECTS\XXX.Utilities\XXX.Utilities\Helpers\HELPERS.cs:line 44
       InnerException:{System.NullReferenceException: Object reference not set to an instance of an object.
   at XXX.Utilities.Helpers.HELPERS..cctor() in C:\DEVELOPMENT\PROJECTS\XXX.Utilities\XXX.Utilities\Helpers\HELPERS.cs:line 44}

私も見ました

私はVS2010を実行しています

4

1 に答える 1

3

次の場所にブレークポイントを追加します。

C:\DEVELOPMENT\PROJECTS\XXX.Utilities\XXX.Utilities\Helpers\HELPERS.cs:line 44

その行にはnull、あるべきではない何かがあります。

于 2012-04-26T09:28:44.777 に答える