私の PCL コア プロジェクト (WP8、Android、iOS、Xamarin、MvvmCross) では、カスタム属性を使用しています。Type.GetCustomAttributes() 拡張メソッドを使用すると、使用されている属性を調べることができます。
PCL Profile104 を使用すると、これはうまく機能します。しかし、async/await を使用したいので、PCL Profile78 (および .NET 4.5) を使用する必要があります。
問題: GetCustomAttributes() および Attributes プロパティが Profile78 で使用できないようです。どうして??
注: PCL Profile 104 クラス ライブラリを作成し、GetCustomAttributes() をラップして、PCL Profile78 ライブラリからこのライブラリを参照することで、回避策を検討しています。ただし、拡張メソッドはサポートされていないようです...
コード例:
public Pcl78Class()
{
Type t = this.GetType();
var attributes = t.Attributes;
var customAttributes = t.GetCustomAttributes(true);
// another weird thing: Why is VS CodeCompletion telling me it knows CustomAttributeExtensions class and methods?
//System.Reflection.CustomAttributeExtensions.GetCustomAttributes(t);
}