gpt4 book ai didi

c# - C# 中的 void* 替代方案

转载 作者:行者123 更新时间:2023-11-30 13:12:27 26 4
gpt4 key购买 nike

我正在制作一个调用回调函数的类,我希望它在某些情况下传递一些数据,但这些数据可能会有所不同。在 C++ 中,我会使用 void* 但在 C# 中它是不安全的,这意味着它可能会被 GC。有什么方法可以在 C# 中传递未知类型的数据吗?

最佳答案

你有两个选择:

Generics (这允许您在调用方法时指定类型...并且对象将在方法中正确键入。)

// Definition:
public void MyMethod<T>(T myParameter)
{
/* My Code */
}

// Call:
MyMethod<int>(999);

// Call:
MyMethod<bool>(false);

System.Object (这意味着你必须在你的方法中确定对象的实际类型并适本地转换)

// Definition:
public void MyMethod(Object myParameter)
{
/* My Code */
}

// Call:
MyMethod(999);

// Call:
MyMethod(false);

关于c# - C# 中的 void* 替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5992585/

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