Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@ public StringSyntaxAttribute(string syntax, params object?[] arguments)
/// <summary>The syntax identifier for strings containing composite formats for string formatting.</summary>
public const string CompositeFormat = nameof(CompositeFormat);

/// <summary>The syntax identifier for strings containing C# code.</summary>
public const string CSharp = "C#";

/// <summary>The syntax identifier for strings containing date format specifiers.</summary>
public const string DateOnlyFormat = nameof(DateOnlyFormat);

Expand All @@ -47,6 +50,9 @@ public StringSyntaxAttribute(string syntax, params object?[] arguments)
/// <summary>The syntax identifier for strings containing <see cref="Enum"/> format specifiers.</summary>
public const string EnumFormat = nameof(EnumFormat);

/// <summary>The syntax identifier for strings containing F# code.</summary>
public const string FSharp = "F#";

/// <summary>The syntax identifier for strings containing <see cref="Guid"/> format specifiers.</summary>
public const string GuidFormat = nameof(GuidFormat);

Expand All @@ -68,6 +74,9 @@ public StringSyntaxAttribute(string syntax, params object?[] arguments)
/// <summary>The syntax identifier for strings containing URIs.</summary>
public const string Uri = nameof(Uri);

/// <summary>The syntax identifier for strings containing Visual Basic code.</summary>
public const string VisualBasic = "Visual Basic";

/// <summary>The syntax identifier for strings containing XML.</summary>
public const string Xml = nameof(Xml);
}
Expand Down
3 changes: 3 additions & 0 deletions src/libraries/System.Runtime/ref/System.Runtime.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9096,16 +9096,19 @@ public SetsRequiredMembersAttribute() { }
public sealed partial class StringSyntaxAttribute : System.Attribute
{
public const string CompositeFormat = "CompositeFormat";
public const string CSharp = "C#";
public const string DateOnlyFormat = "DateOnlyFormat";
public const string DateTimeFormat = "DateTimeFormat";
public const string EnumFormat = "EnumFormat";
public const string FSharp = "F#";
public const string GuidFormat = "GuidFormat";
public const string Json = "Json";
public const string NumericFormat = "NumericFormat";
public const string Regex = "Regex";
public const string TimeOnlyFormat = "TimeOnlyFormat";
public const string TimeSpanFormat = "TimeSpanFormat";
public const string Uri = "Uri";
public const string VisualBasic = "Visual Basic";
public const string Xml = "Xml";
public StringSyntaxAttribute(string syntax) { }
public StringSyntaxAttribute(string syntax, params object?[] arguments) { }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,12 @@ namespace System.Diagnostics.CodeAnalysis.Tests
public sealed class StringSyntaxAttributeTests
{
[Theory]
[InlineData(StringSyntaxAttribute.CSharp)]
[InlineData(StringSyntaxAttribute.DateTimeFormat)]
[InlineData(StringSyntaxAttribute.FSharp)]
[InlineData(StringSyntaxAttribute.Json)]
[InlineData(StringSyntaxAttribute.Regex)]
[InlineData(StringSyntaxAttribute.VisualBasic)]
public void Ctor_Roundtrips(string syntax)
{
var attribute = new StringSyntaxAttribute(syntax);
Expand Down
Loading