It does not work that way, you better use the c++ code only as a description of requirements.
If that’s not an option, then I can only provide you with the following hint:
// have a create function for you Hash object (I'm trying to simplify here)
public class Hash
{
static const int C= 1234;
public static Func<Cell, int> CreateHashObject()
{
Func<Cell, int> hashObj= (cl)=>{return cl.GetHashCode() + C;}; // just a dummy implementation to show that you can save a copy of C in the created object.
return hashObj;
}
}
// and then wherever you need to create a Hash object
var myHashObject= Hash.CreateHashObject();
solved Conversion of C++ class to C# class