我必须编写以下类型的代码
if ( itr->second == "char" )
{
MemberProperty<Owner,char> *ptr = (MemberProperty<Owner, char> *)GetterSetterItr->second;
pw->writeChar(itr->first.c_str() ,(pOwner->*(ptr->m_Getter))());
} else if ( itr->second == "wchar" ) {
MemberProperty<Owner,wchar_t> *ptr = (MemberProperty<Owner, wchar_t> *)GetterSetterItr->second;
pw->writeWideChar(itr->first.c_str() ,(pOwner->*(ptr->m_Getter))());
}
会有很多类型,是否有任何 c++ 技巧,最好是模板技巧,以将其减少到对此类代码的一次调用。