からのEnumまたは静的プロパティを取得すると、なぜ私はenum
プロパティまたはこの状況でtype
<T>
のいずれかのstatic
プロパティにアクセスすることはできません。私は暗黙のうちに<T>
がtype
Bar
であると宣言しています。ちょうどGenericsの制限か、enum
type
そのものであるかどうかを知りたがっています。だからジェネリックリファレンスタイプ<T>
@Frederik Gheyselsの答えでは
を更新し、私がenum
かのいずれかのstatic
へのアクセス権を持っていないだけでBar
から派生しclass
を持っている場合と述べていますbase
これは正しくない、これはコンパイルして動作します。
public class Foo : Bar
{
public Foo()
{
// This all works
var address = this.Address;
var car = Foo.Cars.Honda;
var name = Foo.Name;
}
}
public class Bar
{
public static string Name { get; set; }
public string Address { get; set; }
public enum Cars
{
Honda,
Toyota
}
}
なぜあなたは*できたらいいですか?ここのユースケースは何ですか? –
http://stackoverflow.com/questions/196661/calling-a-static-method-on-a-generic-type-parameterに似ています – AlG
[this](http:// stackoverflow)と似たようなことを達成しようとしていますか? .com/questions/4704201/what-is-the-best-way-to-override-enums)? –