我不知道为什么我不将其声明为partial interface
,因为这在 C# 2.0 中似乎非常快乐;当我得到第二个时,我会改变它,但请注意,您可以在本地应用手动更改 - 只需编辑 csharp.xslt 文件。现在,xslt 不是每个人都喜欢,但应该是 1 行变化(接近单词interface
)——实际上,很可能是partial
这里的添加:
<xsl:template match="ServiceDescriptorProto">
<xsl:if test="($optionClientProxy or $optionDataContract)">
[global::System.ServiceModel.ServiceContract(Name = @"<xsl:value-of select="name"/>")]</xsl:if>
public /* HERE => */ partial /* <= HERE */ interface I<xsl:value-of select="name"/>
{
<xsl:apply-templates select="method"/>
}
<xsl:if test="$optionProtoRpc">
public class <xsl:value-of select="name"/>Client : global::ProtoBuf.ServiceModel.RpcClient
{
public <xsl:value-of select="name"/>Client() : base(typeof(I<xsl:value-of select="name"/>)) { }
<xsl:apply-templates select="method/MethodDescriptorProto" mode="protoRpc"/>
}
</xsl:if>
<xsl:apply-templates select="." mode="clientProxy"/>
</xsl:template>
由于 xslt 是可调整的,因此您应该能够应用您需要的任何其他更改。