私は、APIへの呼び出しをラップしていますし、私の方法のほとんどは彼らの最初の行にあります。C#用のpythonデコレータのようなものがありますか?
Pythonでif (!Gree.Authorizer.IsAuthorized())
{
return;
}
私は@login_required
のようなもので、それらのメソッドを飾るでしょう。
c#
のロジックの種類をリファクタリングするのにどのようなものを使用しますか?
私は、APIへの呼び出しをラップしていますし、私の方法のほとんどは彼らの最初の行にあります。C#用のpythonデコレータのようなものがありますか?
Pythonでif (!Gree.Authorizer.IsAuthorized())
{
return;
}
私は@login_required
のようなもので、それらのメソッドを飾るでしょう。
c#
のロジックの種類をリファクタリングするのにどのようなものを使用しますか?
あなたは、より一般的なプログラミング方法論のサブセット、すなわちアスペクト指向プログラミングを探しています。
C#はいくつかのライブラリでサポートされているようですが、CLRの機能のおかげで、自分自身を公開することもできます。 Aspect Oriented Programming using .NETの基本的な原則を説明しています(私は記事の一部をC#の仕様についてリンクしていますが、PostSharpのような既成のソリューションを探しているならば残りは同様です)。
私はPythonに慣れていませんが、あなたは "属性"(MSDN)(Javaアノテーションにかなり似ています)を探しているようです。
特に、.NETでは「AuthorizeAttribute」が提供されています。これは、まさにあなたが望むもの(さらに多少)を提供します。あなたが.NETの下にいない間、これはあなたが達成しようとしているimplementatinoのいくつかの光をまだ残しているかもしれません。
'attributes'はクラス/メソッドなどに添付されたメタデータだけであり、何もしません。リフレクションを使用してこのメタデータを読み取る別のツールを使用する必要があります。これはすべてのAOPツールが行うことです – Ankur
リンクをありがとう。これがUnity3dで動作するかどうか確認します。 – Macarse