0

私はそのようなプロパティを宣言しました:

private int? platypusLocalId;

public int? PlatypusLocalId
{
    get
    {
        return GetPlatypusLocalIDForPlatypusID(platypusID);
    }
}

...次のようなplatypusLocalIdへの参照を期待します。

Dictionary<int, string> duckBillPairs = GetAvailableDuckBillsForPlatypus(platypusLocalId);

...アクセサー/ゲッターを呼び出すため。ただし、呼び出されていないため、GetAvailableDuckBillsForPlatypus()に渡された場合、platypusLocalIdはnullになります。

4

2 に答える 2

5

ケースを確認してください。platypusLocalIdプロパティではなく、フィールドに直接アクセスしていますPlatypusLocalId。割り当てていないため、フィールドはnullになります。

于 2012-08-20T16:40:41.703 に答える
5

PlatypusLocalIdへの参照は、ゲッターを呼び出します。ただし、platypusLocalId(小文字のpに注意)を使用しています。これは、プライベートフィールドに直接アクセスしていることを意味します。

プロパティは魔法のように使用されるだけでなく、呼び出す必要があります。

于 2012-08-20T16:41:20.603 に答える