/// <summary> /// Class 멤버명을 명명규칙에 따라 변경하게 됩니다. /// </summary> /// <param name="name"></param> /// <param name="namingRule"></param> /// <returns></returns> public static string GetMemberName(this string name, MemberNamingRule namingRule = MemberNamingRule.CamelCaseUndercore) { name.ShouldNotBeWhiteSpace("name"); var converted = name; switch (namingRule) { case MemberNamingRule.CamelCase: converted = string.Concat(name[0].ToString().ToLower(), name.Substring(1)); break; case MemberNamingRule.CamelCaseUndercore: converted = string.Concat("_", name[0].ToString().ToLower(), name.Substring(1)); break; case MemberNamingRule.CamelCase_M_Underscore: converted = string.Concat("m_", name[0].ToString().ToLower(), name.Substring(1)); break; case MemberNamingRule.PascalCase: converted = name; break; case MemberNamingRule.PascalCaseUnderscore: converted = string.Concat("_", name[0].ToString().ToUpper(), name.Substring(1)); break; case MemberNamingRule.PascalCase_M_Underscore: converted = string.Concat("m_", name[0].ToString().ToUpper(), name.Substring(1)); break; default: converted = string.Concat("_", name[0].ToString().ToLower(), name.Substring(1)); break; } if (IsDebugEnabled) { log.Debug("멤버 변수명을 명명규칙에 따라 빌드했습니다. name=[{0}], result=[{1}], namingRule=[{2}]", name, converted, namingRule); } return(converted); }
public void GetFieldNameByNamingKind(string actualName, MemberNamingRule namingRule, string expectedName) { var memberName = FasterflectTool.GetMemberName(actualName, namingRule); Assert.AreEqual(expectedName, memberName); }
/// <summary> /// Class 멤버명을 명명규칙에 따라 변경하게 됩니다. /// </summary> /// <param name="name"></param> /// <param name="namingRule"></param> /// <returns></returns> public static string GetMemberName(this string name, MemberNamingRule namingRule = MemberNamingRule.CamelCaseUndercore) { name.ShouldNotBeWhiteSpace("name"); var converted = name; switch(namingRule) { case MemberNamingRule.CamelCase: converted = string.Concat(name[0].ToString().ToLower(), name.Substring(1)); break; case MemberNamingRule.CamelCaseUndercore: converted = string.Concat("_", name[0].ToString().ToLower(), name.Substring(1)); break; case MemberNamingRule.CamelCase_M_Underscore: converted = string.Concat("m_", name[0].ToString().ToLower(), name.Substring(1)); break; case MemberNamingRule.PascalCase: converted = name; break; case MemberNamingRule.PascalCaseUnderscore: converted = string.Concat("_", name[0].ToString().ToUpper(), name.Substring(1)); break; case MemberNamingRule.PascalCase_M_Underscore: converted = string.Concat("m_", name[0].ToString().ToUpper(), name.Substring(1)); break; default: converted = string.Concat("_", name[0].ToString().ToLower(), name.Substring(1)); break; } if(IsDebugEnabled) log.Debug("멤버 변수명을 명명규칙에 따라 빌드했습니다. name=[{0}], result=[{1}], namingRule=[{2}]", name, converted, namingRule); return converted; }