Я создаю библиотеку классов Net Standard, нацеленную на Net Standard 2.0
и Net Framework 4.6.2
для обработки двух платформ. В Net Framework мне нужно различать, является ли это проектом веб-API или проектом веб-приложения. Это то, что я хочу.
using System;
using System.Linq;
#if (netcoreapp2.0 || netcoreapp2.1)
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
#endif
//net462 || net47 || net471 || net472
#if (NETFX)
using System.Net.Http;
using System.Web;
using System.Web.Mvc;
#endif
namespace TestNetStandard
{
//FOR NET MVC WEB
public class ExceptionValidationAttribute : System.Web.Mvc.IExceptionFilter
{
}
//FOR NET MVC API
public class ExceptionValidationAttribute : System.Web.Http.Filters.ExceptionFilterAttribute
{
}
//For NET CORE
public class ExceptionValidationAttribute : Microsoft.AspNetCore.Mvc.Filters.ExceptionFilterAttribute
{
}
}
Итак, возможно ли создать отдельный класс с помощью директивы препроцессора, в то время как класс ExceptionValidationAttribute
наследует разные классы? Если да, как выполнить этот сценарий?