5
部分クラスとその外側の型と同じにすることはできませんFields辞書の内容。しかし、私は取得ビルドするとき:メンバー名は、私はこのような性質を部分クラスが定義されてい
なぜ「メンバー名がその外側の型と同じにすることはできませんか」?
部分クラスとその外側の型と同じにすることはできませんFields辞書の内容。しかし、私は取得ビルドするとき:メンバー名は、私はこのような性質を部分クラスが定義されてい
なぜ「メンバー名がその外側の型と同じにすることはできませんか」?
インデクサーのデフォルト名は、自動的にItem
です。これは、自分のクラスを含む名前です。 CLRに関しては、インデクサーはパラメータを持つプロパティに過ぎず、含まれるクラスと同じ名前のプロパティやメソッドなどを宣言することはできません。
1つの選択肢は、Item
と呼ばれないようにクラスの名前を変更することです。もう1つは、インデクサーに使用される「プロパティ」の名前を[IndexerNameAttribute]
で変更することです。壊れたの
短い例:
名前の変更によって修正されclass Item
{
public int this[int x] { get { return 0; } }
}
:それを説明
using System.Runtime.CompilerServices;
class Item
{
[IndexerName("Bob")]
public int this[int x] { get { return 0; } }
}
:
または属性によって。ありがとうございました!私は最初に属性の方法を見てみましょう。 – espvar
このように混乱してしまったので、ありがとう! – Patrick