使用String.Format方法时如何显示文字大括号字符?
例:
sb.AppendLine(String.Format("public {0} {1} { get; private set; }",
prop.Type, prop.Name));
Run Code Online (Sandbox Code Playgroud)
我希望输出看起来像这样:
public Int32 MyProperty { get; private set; }
Run Code Online (Sandbox Code Playgroud) 我正在实现一个自定义IFormatter,将对象序列化为我们的遗留系统所需的自定义格式.
如果我声明一个C#auto属性:
[StringLength(15)]
public MyProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)
然后在我的自定义序列化方法中,我通过以下方式获取序列化字段:
MemberInfo[] members =
FormatterServices.GetSerializableMembers(graph.GetType(), Context);
Run Code Online (Sandbox Code Playgroud)
如何访问装饰auto属性的StringLength属性?
我目前正在利用<PropertyName>k_backingfield
命名约定获取属性信息.我宁愿不依赖它,因为它似乎是C#编译器实现的具体细节.有没有更好的办法?