设置T4模板参数的访问级别

时间:2017-03-15 06:45:39

标签: c# t4

我有一个T4模板(ModelTemplate.tt),它继承自基本模板,如下所示:

/// <summary>
/// Access the Namespaced parameter of the template.
/// </summary>
private bool Namespaced
{
    get
    {
        return this._NamespacedField;
    }
}

我在BaseTextTemplate中定义了一个参数,如下所示:

<project>
  ...
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.6.1</version>
          <configuration>
            <source>1.7</source>
            <target>1.7</target>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>
  ...
</project>

我想在派生类中使用这个参数,如下所示:

java.version

问题是这样做会产生错误:

  

严重级代码描述项目文件行抑制状态   错误CS0122'BaseTextTemplate.Namespaced'由于其保护级别而无法访问

如果我们查看BaseTextTemplate.cs中生成的代码,我们会发现参数的保护级别确实是私有

maven-compiler-plugin

我一直在搜索,试图找到如何通过附加属性更改此参数的访问级别。有谁知道如何做到这一点?

0 个答案:

没有答案