gpt4 book ai didi

c# - C# 中的模板

转载 作者:太空狗 更新时间:2023-10-29 21:15:24 25 4
gpt4 key购买 nike

我知道泛型在 C# 中的作用类似于 C++ 模板,但我确实需要一种在编译时生成一些代码的方法 - 在这种特殊情况下,使用 C++ 模板可以很容易地解决问题。

有没有人知道任何替代方案?也许是预处理代码的 VS 插件或类似的东西?它不需要很复杂,我只需要在编译时生成一些方法。

这是一个非常简化的 C++ 示例(请注意,此方法将在具有各种条件的紧密循环内调用,而不仅仅是“高级”,并且这些条件每帧只会更改一次 - 使用 if 会太慢并且编写所有手动替代方法将无法维护)。另请注意,性能非常重要,这就是为什么我需要在编译时生成它。

template <bool Advanced>
int TraceRay( Ray r )
{
do
{
if ( WalkAndTestCollision( r ) )
{
if ( Advanced )
return AdvancedShade( collision );
else
return SimpleShade( collision );
}
}
while ( InsideScene( r ) );
}

最佳答案

您可以使用 T4 .

编辑:在您的示例中,您可以使用一个简单的bool 参数。

关于c# - C# 中的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2769076/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com