C# 如何从同一项目中的程序集中的ActionFilter属性继承,但不直接引用?
我想问的是,我甚至不可能,我对此持怀疑态度,但我的任务是做这件事,所以如果不可能或愚蠢,请解释原因 我有一个包含ActionFilter属性的基本项目,该属性覆盖OnActionExecuting。它不做任何事情,因为它应该是一个基类来继承C# 如何从同一项目中的程序集中的ActionFilter属性继承,但不直接引用?,c#,asp.net-mvc,C#,Asp.net Mvc,我想问的是,我甚至不可能,我对此持怀疑态度,但我的任务是做这件事,所以如果不可能或愚蠢,请解释原因 我有一个包含ActionFilter属性的基本项目,该属性覆盖OnActionExecuting。它不做任何事情,因为它应该是一个基类来继承 namespace mybaseproject public class BaseActionAttribute : ActionFilterAttribute { public string ActionName {get;se
namespace mybaseproject
public class BaseActionAttribute : ActionFilterAttribute
{
public string ActionName {get;set;}
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
}
}
我还有第二个项目,它引用了“mybaseproject”并使用BaseActionAttribute
namesapce mysecondproject
public class MyController : Controller
{
[BaseAction(ActionName="Index")]
public ActionResult Index()
{
//do stuff
}
}
我有第三个项目,它引用了“mybaseproject”和“mysecondproject”。它有一个ActionFilterAttribute,该属性继承自基本属性,并具有所有要处理的实际代码
using mybaseproject;
namespace mythirdproject
public class DerivedActionAttribute : BaseActionAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
// do all the real stuff
base.OnActionExecuting(filterContext);
}
}
mysecondproject中的BaseActionAttribute使用mythirdproject的DerivedActionAttribute中的代码所需的效果是什么。我不明白这是怎么回事,因为mysecondproject没有对mythirdproject的引用。它们只是驻留在解决方案中。我也尝试过使用Authorize属性,但当我在第二个项目中调用我的操作时,派生属性中的断点从未被命中
我就是这样被告知要解决这个问题的。要么我误解了,要么采取了错误的方法,要么这是不可能的
哪一个?感谢您的收听。您是对的,这是不可能的。现在我想我必须在工作场所的网站上发布一个问题,关于如何应对我的老板告诉他他错了。您的方法是错误的。mysecondproject应该引用Mythird项目,并将[BaseActionName=Index]更改为[DerivedActionAttributeActionName=Index]……这是不可能的。第二个只能引用基。这是直接命令。