我可以找到很多示例,人们将单个参数传递到这样的CLR代码:
public static void Example(SqlDateTime param1, SqlInt32 param2) {
}
我还看到了很多代码,人们传递参数,然后将这些代码从代码中的SQL中选择数据(使用SQLCommand。代码并操纵它?
谢谢,
乔
您始终可以根据对象的类型(托管/本机)在CLI中传递等效对象。
public class NativeObject
{
private:
int id;
string msg;
SomeClass obj;
.......
public:
string getMessage(){return msg;}
int getID(){return id;}
...
}
它的等效等效将为
public ref class ManagedObject
{
private:
NativeObject* native;
public:
ManagedObject(NativeObject* obj){
native = obj;
}
String^ getMessage(){
convertNativeToCLI(native->getMessage()); //you can use marshaling to implement convertNativeToCLI method.
}
int getID(){
return native->getID();
}
...
}
您将需要一个粘合剂或接口类将一个对象从一种形式转换为另一种形式。通常,当我们拥有复杂的对象时,我们使用这种方法。如果我们只有很少的简单数据对象,那么此方法将不必要地放置额外的开销。