Pij*_*usn 3 c# arguments function void-pointers
我正在创建一个调用回调函数的类,我希望它在某些情况下传递一些数据,但数据可能会有所不同.在C++中我会使用void*但在C#中它是不安全的,这意味着它可能会得到GCed.有没有办法在C#中传递未知类型的数据?
你有两个选择:
泛型(允许您在调用方法时指定类型...并且对象将在方法中正确键入.)
// Definition:
public void MyMethod<T>(T myParameter)
{
/* My Code */
}
// Call:
MyMethod<int>(999);
// Call:
MyMethod<bool>(false);
Run Code Online (Sandbox Code Playgroud)
或System.Object(这意味着您必须确定方法中的对象的实际类型并进行适当的转换)
// Definition:
public void MyMethod(Object myParameter)
{
/* My Code */
}
// Call:
MyMethod(999);
// Call:
MyMethod(false);
Run Code Online (Sandbox Code Playgroud)