创建一个没有 TargetElement 的 Base TagHelper

Create a Base TagHelper with no TargetElement

我正在为一个大型项目创建 MVC6 TagHelpers 库。

我发现自己一次又一次地在这些 TagHelper 中编写某些功能。

我想制作一个基础 TagHelper,所有其他人都从中继承以删除所有重复的代码。

问题是这样的 - 假设我创建了一个基本的 TagHelper,如下所示:

public class BaseTagHelper : TagHelper
{

    public override void Process(TagHelperContext context, TagHelperOutput output)
    {
        //Some implementation...
    }
}

现在,当我去写一个视图时,我会有智能感知提示标签助手 <base>

有什么方法可以告诉 intellisense 这不是我真正想要使用的 TagHelper,只是一个基础 class 包含与我创建的其他 TagHelper 通用的实现?

将其创建为 abstract class,请参阅官方 MVC Core 存储库中的一些示例,例如 CacheTagHelperBase

public abstract class BaseTagHelper : TagHelper
{

    public override void Process(TagHelperContext context, TagHelperOutput output)
    {
        //Some base implementation...
    }
}