我有程序集A
,其中MyCustomAttribute
位於。跨程序集獲取自定義屬性
現在我有大會B
,在那裏我有reference
組裝A
和我在組裝B
MyCustomAttribute
使用。
現在我想獲得的所有MyCustomAttribute
在inctanses B. Assebmly
我嘗試類似:
public static void Registration()
{
List<MyCustomAttribute> atrr = new List<MyCustomAttribute>();
var assembly = System.Reflection.Assembly.GetCallingAssembly();
var types = (from type in assembly.GetTypes()
where Attribute.IsDefined(type, typeof(MyCustomAttribute))
select type).ToList();
}
等方式 - 但我不能讓MyCustomAttribute
。
UPDATE
我的屬性
namespace NamespaceOne.Attributes
{
[AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple = false,
Inherited = false)]
public class MyCustomAttribute: Attribute
{
......
}
}
Now the second Assembly(second project - ASP WebApi):
namespace SecondNamespace.Controllers
{
public class HomeController : Controller
{
[MyCustomAttribute]
public ActionResult Index()
{
MyStaticMethod.Registration(); // THIS Class andmethod in First class library - where located attribute
ViewBag.Title = "Home Page";
return View();
}
你驗證'GetCallingAssembly()'實際上返回'B'? –
是的。但在裏面我沒有看到我的自定義屬性 –
你可以顯示你的屬性,以及實現它的類型? – Bauss