小编Dav*_*son的帖子

为什么“转换所有 T4 模板”没有执行?

我有一个包含三个 .NET Core 2 项目的解决方案。在每个项目中,我都有几个 .tt T4 模板。

我正在寻找一种巧妙的方法来一次转换所有模板,并找到了Transform All Templates -Command。

不幸的是,该命令什么也不做。如果我在我的解决方案中执行它,输出会显示:

Transforming templates for all project items.
-------------------------------------
-------------------------------------
Text templating transformation complete.
Run Code Online (Sandbox Code Playgroud)

但是在我检查我的模板后,它们没有更新。如果我转到一个模板文件并保存它,它总是会转换,但只有这个模板。我有 20 个模板,不想单独访问每个文件。

任何想法,为什么命令不起作用?

c# t4 visual-studio asp.net-core visual-studio-2017

5
推荐指数
0
解决办法
873
查看次数

具有可转换参数的通用函数

我想写一个通用函数,它接收一个列表作为参数.如果列表为null,则应返回null.如果列表包含有效项,则应返回第一项.该函数应该适用于所有原始数据类型,如int,short,float,double等...

在我的例子中,我使用int:

var a = new List<int>();
a.Add(3);

Foo<int, int?>(a);
Foo<int, int?>(null);

private T Foo<G, T>(List<G> list)
{
    if(list != null && list.Count > 0)
    {
        return list[0];
    }
    else
    {
        return default(T);
    }
}
Run Code Online (Sandbox Code Playgroud)

遗憾的是,这不起作用,因为我没有找到一个通用约束,证明编译器,那个int?可以转换为int和short吗?简短等...我只想用原始数据类型及其可空挂件和字符串来调用函数.

有关其他解决方案的任何想 :-)

编辑:

它也应该与字符串一起使用.否则Rene Vogts解决方案将起作用.

.net c# oop

2
推荐指数
1
解决办法
73
查看次数

标签 统计

c# ×2

.net ×1

asp.net-core ×1

oop ×1

t4 ×1

visual-studio ×1

visual-studio-2017 ×1