万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    setもgetもあるのをリフレクションで取りたい C# Unity

    リフレクションであるプロパティにアクセスしたい。

    var qry = typeof(Foo).type.GetProperties(BindingFlags.Public|BindingFlags.Instance);

    だとsetプロパティがないのもとれてしまう・・・。

    http://stackoverflow.com/questions/302476/how-do-you-find-only-properties-that-have-both-a-getter-and-setter

    ここのTimさんの投稿見た。

    using System.Linq;
    using System.Reflection;

    忘れずに。

    var qry = typeof(Foo).GetProperties(BindingFlags.Instance | BindingFlags.Public).Where(p => p.CanRead && p.CanWrite);

    でWhereでフィルターする。 今回var使ってるが、ToArray();を使って配列化する必要がある。

    PropertyInfo[] qry = type.GetProperties(BindingFlags.Instance | BindingFlags.Public).Where(p => p.CanRead && p.CanWrite).ToArray();