对于枚举类型,如果原生的c++中
enum CompareFlag
{
CF_LESS, //小于
CF_MORE, //大于
CF_EQUAL, //等于
CF_LESS_EQUAL, //小于等于
CF_MORE_EQUAL, //大于等于
CF_NOT_EQUAL , //不等于
CF_LIKE //字符串查找
};
可以在托管c++中这样编写
public enum class CLI_CompareFlag
{
CF_LESS, //小于
CF_MORE, //大于
CF_EQUAL, //等于
CF_LESS_EQUAL, //小于等于
CF_MORE_EQUAL, //大于等于
CF_NOT_EQUAL, //不等于
CF_LIKE //字符串查找
};
调用
//这是托管代码,参数都是托管类型(带CLI前缀)
bool TestFunction(CLI_CompareFlag nCompareFlag, CLI_RelationFlag nRelationFlag)
{
CompareFlag str1 = safe_cast<CompareFlag>(nCompareFlag);//托管类型转为原生c++
RelationFlag str2 = safe_cast<RelationFlag>(nRelationFlag);//托管类型转为原生c++
return ResultBase->Compere(str1, str2);//原生c++调用
}