Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从同一项目中的程序集中的ActionFilter属性继承,但不直接引用?_C#_Asp.net Mvc - Fatal编程技术网

C# 如何从同一项目中的程序集中的ActionFilter属性继承,但不直接引用?

C# 如何从同一项目中的程序集中的ActionFilter属性继承,但不直接引用?,c#,asp.net-mvc,C#,Asp.net Mvc,我想问的是,我甚至不可能,我对此持怀疑态度,但我的任务是做这件事,所以如果不可能或愚蠢,请解释原因 我有一个包含ActionFilter属性的基本项目,该属性覆盖OnActionExecuting。它不做任何事情,因为它应该是一个基类来继承 namespace mybaseproject public class BaseActionAttribute : ActionFilterAttribute { public string ActionName {get;se

我想问的是,我甚至不可能,我对此持怀疑态度,但我的任务是做这件事,所以如果不可能或愚蠢,请解释原因

我有一个包含ActionFilter属性的基本项目,该属性覆盖OnActionExecuting。它不做任何事情,因为它应该是一个基类来继承

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]……这是不可能的。第二个只能引用基。这是直接命令。