Пример #1
0
        public static string ToDebugString(
            [NotNull] this IReadOnlyServiceProperty serviceProperty,
            MetadataDebugStringOptions options,
            int indent = 0)
        {
            var builder      = new StringBuilder();
            var indentString = new string(' ', indent);

            builder.Append(indentString);

            var singleLine = (options & MetadataDebugStringOptions.SingleLine) != 0;

            if (singleLine)
            {
                builder.Append("Service property: ").Append(serviceProperty.DeclaringType.DisplayName()).Append(".");
            }

            builder.Append(serviceProperty.Name);

            if (serviceProperty.GetFieldName() == null)
            {
                builder.Append(" (no field, ");
            }
            else
            {
                builder.Append(" (").Append(serviceProperty.GetFieldName()).Append(", ");
            }

            builder.Append(serviceProperty.ClrType?.ShortDisplayName()).Append(")");

            if (!singleLine && (options & MetadataDebugStringOptions.IncludeAnnotations) != 0)
            {
                builder.Append(serviceProperty.AnnotationsToDebugString(indent + 2));
            }

            return(builder.ToString());
        }
Пример #2
0
 public static ServiceProperty AsServiceProperty(
     [NotNull] this IReadOnlyServiceProperty serviceProperty,
     [NotNull][CallerMemberName] string methodName = "")
 => MetadataExtensions.AsConcreteMetadataType <IReadOnlyServiceProperty, ServiceProperty>(serviceProperty, methodName);