コード例 #1
0
        public static string GetCouchPropertyName(this MemberInfo memberInfo, PropertyCaseType propertyCaseType)
        {
            object[] jsonPropertyAttributes    = memberInfo.GetCustomAttributes(typeof(JsonPropertyAttribute), true);
            JsonPropertyAttribute?jsonProperty = jsonPropertyAttributes.Length > 0
                ? jsonPropertyAttributes[0] as JsonPropertyAttribute
                : null;

            return(jsonProperty != null
                ? jsonProperty.PropertyName
                : propertyCaseType.Convert(memberInfo.Name));
        }
コード例 #2
0
        public static string GetPropertyName(this MemberExpression m, CouchOptions options)
        {
            PropertyCaseType caseType = options.PropertiesCase;

            var members = new List <string> {
                m.Member.GetCouchPropertyName(caseType)
            };

            Expression currentExpression = m.Expression;

            while (currentExpression is MemberExpression cm)
            {
                members.Add(cm.Member.GetCouchPropertyName(caseType));
                currentExpression = cm.Expression;
            }

            members.Reverse();
            var propName = string.Join(".", members.ToArray());

            return(propName);
        }
コード例 #3
0
 internal CouchContractResolver(PropertyCaseType propertyCaseType)
 {
     _propertyCaseType = propertyCaseType;
 }
コード例 #4
0
 public CouchContractResolver(PropertyCaseType propertyCaseType)
 {
     _propertyCaseType = propertyCaseType;
 }