0
A
答えて
3
MethodInfo mi = typeof(MyType).GetMethod("methodname");
Assert.IsFalse (Attribute.IsDefined (mi, typeof(MyAttributeClass)));
1
を私はNUnitのは、使用していますAssertメソッドのわからないんだけど、あなたは、単にそれに渡されたパラメータのため、このブール式を使用することができます(あなたはLINQを使用することができます仮定:
methodInfo.GetCustomAttributes(attributeType, true).Any()
属性が適用される場合、それはtrueが返されます
を使用すると、ジェネリック版(とないtypeof演算を使用するようにしたい場合)
static bool IsAttributeAppliedToMethodInfo<T>(this MethodInfo methodInfo)
where T : Attribute
{
// If the attribute exists, then return true.
return methodInfo.GetCustomAttributes(typeof(T), true).Any();
}
そして、そのようなあなたのAssertメソッドでそれを呼び出す:あなたはあなたのためにこれを行うには、一般的な方法を使用することができます
<assert method>(methodInfo.IsAttributeAppliedToMethodInfo<MyAttribute>());
表現でこれを行うには、次の拡張を定義することができます最初の方法:その後、
public static MethodInfo
AssertAttributeAppliedToMethod<TExpression, TAttribute>
(this Expression<T> expression) where TAttribute : Attribute
{
// Get the method info in the expression of T.
MethodInfo mi = (expression.Body as MethodCallExpression).Method;
Assert.That(mi, Has.Attribute(typeof(TAttribute)));
}
そして、このようなコードでそれを呼び出す:
(() => Console.WriteLine("Hello nurse")).
AssertAttributeAppliedToMethod<MyAttribute>();
メソッドに渡されるパラメータが何であるかは関係ありません。メソッドが呼び出されないため、式が必要です。
0
代替NUnitの2.5のために:
var methodInfo = typeof(MyType).GetMethod("myMethod");
Assert.That(methodInfo, Has.Attribute(typeof(MyAttribute)));
関連する問題
- 1. 最初に実行されるメソッドに属性を適用する方法はありますか?
- 2. 値を返すために、属性の適用 - メソッドの戻り値に属性を適用することが可能であるC#で
- 3. opencvとC++でポイントをプロットする最短の方法は何ですか?
- 4. Selenium IDE:属性をアサートする方法はありますか
- 5. これを取得する最短の方法は何ですか?
- 6. ResultSetメソッド "last"はこれが最適な方法ですか?
- 7. ゲームユニットの属性(コスト)を保存する適切な方法は何ですか?
- 8. 属性をfalseに宣言する適切な方法は何ですか?
- 9. C++とCMakeに適用される定義は何ですか?
- 10. Asp.netの_DoPostBack javascriptメソッドの最適な方法は何ですか
- 11. Mooseでクラス属性を作成する最善の方法は何ですか?
- 12. メソッドの属性はC#で継承されていますか?
- 13. オブジェクトの属性を取得する最もクリーンな方法は何ですか?
- 14. アクションが呼び出されたことをアサートする方法
- 15. scipy.least_squaresの最適性は何ですか?
- 16. ADO.Netクエリをカプセル化するのに最適なC#メソッドは何ですか
- 17. C#プロパティセッターに関数を接続する最短の方法(テキストの量は最小)は何ですか?
- 18. データベースアクセスアプリケーションの並行性を管理する最適な方法は何ですか?
- 19. Apolloデータオブジェクトにメソッドを追加する最適な方法は何ですか?
- 20. イベントがFakeItEasyで購読されていることをアサートする方法は?
- 21. は、この属性は何をするのか:MethodImplOptions.NoInlining(または:メソッドを 'インライン化' されているもの)
- 22. 属性にフィルタを適用する方法は?
- 23. モジュール性とプラットフォーム独立性の両方に最適なアプローチは何ですか?
- 24. モデルがネストされた属性を受け入れるとき、ビューの適切な構文は何ですか?
- 25. タイトル属性に動的データを適用する別の方法
- 26. 'td'タグの 'title'属性にスタイルを適用する方法
- 27. dotnet/.NETでカスタム属性を実装する最適な方法は何ですか?
- 28. JavaアプリケーションでOgre(C++)とのインタフェースに最適な方法は何ですか?
- 29. 複数のクラスが同じ属性をC#で共有するのに最適な方法
- 30. この[オプション(...)] C#属性の意味は何ですか?
呼び出しがAssert.IsTrueです - ところで、彼は私が文字列とメソッドの情報NPを得ることができMETHODINFO – eglasius
のホールドを取得する方法を知らないかもしれません。表現アプローチを望んでいた。誰かがこの種のテストのためのコードを既に持っているかもしれないと思った。 –
傷みのある方はご遠慮ください。文字列はこの質問には問題ありません。 –