gpt4 book ai didi

c# - 是否有 C++ std::is_same 类模板的 C# 类似物?

转载 作者:太空狗 更新时间:2023-10-29 20:22:28 27 4
gpt4 key购买 nike

有人可以在 C++ 中编写以下代码:

#include <type_traits>

template <typename Type1, typename Type2>
bool TestArgumentTypesOnEquality(Type1 argument1, Type2 argument2)
{
return std::is_same<Type1, Type2>::value;
}

std::is_same 类模板检查 Type1Type2(它们是 TestArgumentTypesOnEquality 函数的类型模板参数)是相等的。

是否有此 C++ 标准库功能的任何 C# 泛型模拟?

public static bool TestArgumentTypesOnEquality<Type1, Type2>(Type1 argument1, Type2 argument2)
{
return /* ??? */;
}

当然只有简单的测试样本。实际代码更复杂。事实上,我只想知道是否可以在 C# 中测试两个泛型类型参数是否相等。

最佳答案

C# 没有很多编译时特性,例如模板、宏、static_assert。 C# 泛型几乎是运行时的。 C++ 模板绝对是编译时间。 std::is_samestd::enable_if 等编译器时间类型确定机制在 C# 中不起作用。

关于c# - 是否有 C++ std::is_same 类模板的 C# 类似物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37702714/

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