在我们进行EC(Bentley专有名词,是Engineer Content的缩写,即工程内容的意思)编程时处理中文字符串是不可回避的。在C++和C# (严格来说严格是.NET)中都提供有类ECNameValidation专门处理中文字符串的双向转换问题。其中EncodeToValidName函数(或叫方法)是将中文字符串转换成EC系统可辨认的内部串。C++的这个接口一直是正确的,但.NET封装时存在问题,中文字符串被转换为内部串时出现了大小写字母的问题从而导致处理中文字符串出错。为此,Bentley在某个版本(记不太清楚具体哪个版本了,大概是U10)对该接口进行了修正。目前在C# 中可以有如下两种调用形式:
ECNameValidation.EncodeToValidName (ref rtnStr); ECNameValidation.EncodeToValidName (ref rtnStr, true);
第一种形式保持原来的转换方式不变,这是为了满足以前用户的代码能继续顺利运行。
第二种形式适合我们中文用户使用。