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