C ++ CLI语法:通用方法?

时间:2011-05-29 12:02:42

标签: c++-cli

任何人都可以提供帮助

我需要一个在C ++ / CLI中使用的通用方法。

我现在尝试以下方法:

generic<K, ref class U> 
void OnUpdate (
    K key,
    U update
);

可悲的是它不起作用。该方法必须接受K和U,C#定义为:

void DataUpdate<K, U>(DataUpdate<K, U> update) where U : class;

(是的,方法不同 - OnUpdate将检查接口的某个点是否已设置,然后在接口中调用此方法,如事件处理程序,因此参数必须匹配)。

C ++ / CLI中的通用语法使我望而却步。我也没有问题将K定义为一个类。

1 个答案:

答案 0 :(得分:6)

目前尚不清楚您正在寻找什么。必须使用 where 关键字声明约束:

generic<typename K, typename U> 
where U : ref class
void OnUpdate (K key, U update)
{
   // etc..
}