mirror of
https://github.com/Tyrrrz/CliFx.git
synced 2025-10-25 15:19:17 +00:00
asd
This commit is contained in:
@@ -306,12 +306,12 @@ internal class HelpConsoleFormatter(ConsoleWriter consoleWriter, HelpContext con
|
||||
if (defaultValue is null)
|
||||
return;
|
||||
|
||||
if (schema.Property.Type.IsToStringOverriden())
|
||||
if (defaultValue is IFormattable formattable)
|
||||
{
|
||||
Write(ConsoleColor.White, "Default: ");
|
||||
|
||||
Write('"');
|
||||
Write(defaultValue.ToString(CultureInfo.InvariantCulture));
|
||||
Write(formattable.ToString(null, CultureInfo.InvariantCulture));
|
||||
Write('"');
|
||||
Write('.');
|
||||
}
|
||||
|
||||
@@ -126,7 +126,7 @@ public abstract class CommandInputSchema(
|
||||
public abstract class CommandInputSchema<
|
||||
TCommand,
|
||||
[DynamicallyAccessedMembers(
|
||||
DynamicallyAccessedMemberTypes.Interfaces | DynamicallyAccessedMemberTypes.PublicMethods
|
||||
DynamicallyAccessedMemberTypes.PublicMethods
|
||||
)]
|
||||
TProperty
|
||||
>(
|
||||
|
||||
@@ -64,7 +64,7 @@ public class CommandOptionSchema(
|
||||
public class CommandOptionSchema<
|
||||
TCommand,
|
||||
[DynamicallyAccessedMembers(
|
||||
DynamicallyAccessedMemberTypes.Interfaces | DynamicallyAccessedMemberTypes.PublicMethods
|
||||
DynamicallyAccessedMemberTypes.PublicMethods
|
||||
)]
|
||||
TProperty
|
||||
>(
|
||||
|
||||
@@ -43,7 +43,7 @@ public class CommandParameterSchema(
|
||||
public class CommandParameterSchema<
|
||||
TCommand,
|
||||
[DynamicallyAccessedMembers(
|
||||
DynamicallyAccessedMemberTypes.Interfaces | DynamicallyAccessedMemberTypes.PublicMethods
|
||||
DynamicallyAccessedMemberTypes.PublicMethods
|
||||
)]
|
||||
TProperty
|
||||
>(
|
||||
|
||||
@@ -10,7 +10,7 @@ namespace CliFx.Schema;
|
||||
/// </summary>
|
||||
public class PropertyBinding(
|
||||
[DynamicallyAccessedMembers(
|
||||
DynamicallyAccessedMemberTypes.Interfaces | DynamicallyAccessedMemberTypes.PublicMethods
|
||||
DynamicallyAccessedMemberTypes.PublicMethods
|
||||
)]
|
||||
Type type,
|
||||
Func<object, object?> getValue,
|
||||
@@ -21,7 +21,7 @@ public class PropertyBinding(
|
||||
/// Underlying CLR type of the property.
|
||||
/// </summary>
|
||||
[DynamicallyAccessedMembers(
|
||||
DynamicallyAccessedMemberTypes.Interfaces | DynamicallyAccessedMemberTypes.PublicMethods
|
||||
DynamicallyAccessedMemberTypes.PublicMethods
|
||||
)]
|
||||
public Type Type { get; } = type;
|
||||
|
||||
@@ -64,7 +64,7 @@ public class PropertyBinding(
|
||||
public class PropertyBinding<
|
||||
TObject,
|
||||
[DynamicallyAccessedMembers(
|
||||
DynamicallyAccessedMemberTypes.Interfaces | DynamicallyAccessedMemberTypes.PublicMethods
|
||||
DynamicallyAccessedMemberTypes.PublicMethods
|
||||
)]
|
||||
TProperty
|
||||
>(Func<TObject, TProperty?> getValue, Action<TObject, TProperty?> setValue)
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace CliFx.Utils.Extensions;
|
||||
|
||||
@@ -14,13 +13,4 @@ internal static class StringExtensions
|
||||
|
||||
public static string JoinToString<T>(this IEnumerable<T> source, string separator) =>
|
||||
string.Join(separator, source);
|
||||
|
||||
public static string? ToString(
|
||||
this object obj,
|
||||
IFormatProvider? formatProvider = null,
|
||||
string? format = null
|
||||
) =>
|
||||
obj is IFormattable formattable
|
||||
? formattable.ToString(format, formatProvider)
|
||||
: obj.ToString();
|
||||
}
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
using System;
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
|
||||
namespace CliFx.Utils.Extensions;
|
||||
|
||||
internal static class TypeExtensions
|
||||
{
|
||||
public static bool IsToStringOverriden(
|
||||
[DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicMethods)] this Type type
|
||||
)
|
||||
{
|
||||
var toStringMethod = type.GetMethod(nameof(ToString), []);
|
||||
return toStringMethod?.GetBaseDefinition().DeclaringType != toStringMethod?.DeclaringType;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user