如何在C#TBB(C#代码片段)中添加用户定义的方法?

P.M*_*hna 7 c# tridion

我正在创建一个C#TBB(C#代码片段).为此,我需要编写一个用户定义的方法.我尝试使用<%创建它!%>.如何在代码中访问用户定义的方法.提前致谢.请建议我解决这个问题的方法.

Nic*_*kov 11

TOM.NET API参考提供以下示例:

<%@ Import Namespace="Tridion.ContentManager.Publishing"%>
<%!
private string ExtraString()
{
    return "Something added by the C# template";
}
%>
log.Debug("Executing C# template");
if (engine.RenderMode == RenderMode.Publish)
{
    package.GetByName(Package.OutputName).AppendToStringValue(ExtraString());
}
Run Code Online (Sandbox Code Playgroud)

除上述内容外,还支持以下语法:

<%@Import Namespace="..." %> 
Run Code Online (Sandbox Code Playgroud)

将括在引号之间的命名空间导入代码片段.您导入的任何类都必须存在于全局程序集缓存中.

<%! ... %> 
Run Code Online (Sandbox Code Playgroud)

声明要使用的其余代码片段的方法,常量和类.声明不能包含字符串'%>'.请注意,您创建的任何类只能在代码片段中引用.

<%RunTemplate Template="tcm:1-184-2048" Class="Tridion.Templating.Examples.ExampleTemplateClass"%> 
Run Code Online (Sandbox Code Playgroud)

运行特定的.NET程序集模板构建块,由Template属性中的URI标识.当您上载.NET程序集时,此语句通常由SDL Tridion 2009本身生成,以提供对.NET程序集中特定类的访问.

<%@Assembly Name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"%> 
Run Code Online (Sandbox Code Playgroud)

插入对非标准.NET程序集的引用,该程序集必须存在于全局程序集缓存中.使用完整的程序集名称.