c# - T4。错误 : An expression block evaluated as Null

标签 c# .net code-generation t4

我添加了如下所示的 template.tt 文件:

<#@ template language="C#" debug="true" #>
<#@ output extension=".cs" #>
<#@ import namespace="System" #>
<#@ import namespace="System.Collections.Generic" #>

using System;
using System.Collections.Generic;

namespace Test
{
    public class <#= this.ClassName#>
    {       

    }
}

<#+
    public string ClassName { get; set; }
#>

我收到错误:

An expression block evaluated as Null
at Microsoft.VisualStudio.TextTemplating.ToStringHelper.ToStringWithCulture(Object objectToConvert)...

我应该怎么做才能避免看到这些消息?

提前致谢

最佳答案

问题是 ClassName 属性为空。修复错误的一种方法是将类功能 block 中的代码更改为:

<#+
    private string className = "";

    public string ClassName {
        get { return className; }
        set { className = value; }
    }
#>

关于c# - T4。错误 : An expression block evaluated as Null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16085506/

相关文章:

C#.NET : how to pause and resume a program execution on a keypress?

c# - 与 xp 上的 2010 相比,找不到引用的组件 'vbide'

visual-studio-2010 - 如何从 PowerShell 脚本触发 T4 模板

PHP 通用表单生成器/生成器

eclipse - 禁用部分Javadoc的Eclipse代码格式

c# - 如何首先使用代码在 Fluent API 中配置多个关系?

c# - 如何从 MFC 应用程序调用 .NET 窗体?

.net - 在 MSMQ 中发送二进制消息

c# - 仅在 Windows 服务 : System. Runtime.InteropServices.COMException (0x800A03EC) 中:来自 HRESULT 的异常:0x800A03EC

c# - 将数据类型 varchar 转换为 bigint 时出错。内联 sql 语句