<type fullname="System.Runtime.Versioning.UnsupportedOSPlatformAttribute">
<attribute internal="RemoveAttributeInstances" />
</type>
+ <type fullname="System.Runtime.Versioning.ObsoletedInOSPlatformAttribute">
+ <attribute internal="RemoveAttributeInstances" />
+ </type>
<type fullname="System.Runtime.Versioning.SupportedOSPlatformGuardAttribute">
<attribute internal="RemoveAttributeInstances" />
</type>
public UnsupportedOSPlatformAttribute(string platformName) : base(platformName)
{
}
+ public UnsupportedOSPlatformAttribute(string platformName, string? message) : base(platformName)
+ {
+ Message = message;
+ }
+ public string? Message { get; }
+ }
+
+ /// <summary>
+ /// Marks APIs that were obsoleted in a given operating system version.
+ /// </summary>
+ /// <remarks>
+ /// Primarily used by OS bindings to indicate APIs that should not be used anymore.
+ /// </remarks>
+ [AttributeUsage(AttributeTargets.Assembly |
+ AttributeTargets.Class |
+ AttributeTargets.Constructor |
+ AttributeTargets.Enum |
+ AttributeTargets.Event |
+ AttributeTargets.Field |
+ AttributeTargets.Interface |
+ AttributeTargets.Method |
+ AttributeTargets.Module |
+ AttributeTargets.Property |
+ AttributeTargets.Struct,
+ AllowMultiple = true, Inherited = false)]
+#if SYSTEM_PRIVATE_CORELIB
+ public
+#else
+ internal
+#endif
+ sealed class ObsoletedInOSPlatformAttribute : OSPlatformAttribute
+ {
+ public ObsoletedInOSPlatformAttribute(string platformName) : base(platformName)
+ {
+ }
+ public ObsoletedInOSPlatformAttribute(string platformName, string? message) : base(platformName)
+ {
+ Message = message;
+ }
+ public string? Message { get; }
+ public string? Url { get; set; }
}
/// <summary>
public static bool operator !=(System.Runtime.Versioning.FrameworkName? left, System.Runtime.Versioning.FrameworkName? right) { throw null; }
public override string ToString() { throw null; }
}
+ [System.AttributeUsageAttribute(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Enum | System.AttributeTargets.Event | System.AttributeTargets.Field | System.AttributeTargets.Interface | System.AttributeTargets.Method | System.AttributeTargets.Module | System.AttributeTargets.Property | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
+ public sealed partial class ObsoletedInOSPlatformAttribute : System.Runtime.Versioning.OSPlatformAttribute
+ {
+ public ObsoletedInOSPlatformAttribute(string platformName) : base(platformName) { }
+ public ObsoletedInOSPlatformAttribute(string platformName, string? message) : base(platformName) { }
+ public string? Message { get { throw null; } }
+ public string? Url { get { throw null; } set {} }
+ }
public abstract partial class OSPlatformAttribute : System.Attribute
{
private protected OSPlatformAttribute(string platformName) { }
public sealed partial class UnsupportedOSPlatformAttribute : System.Runtime.Versioning.OSPlatformAttribute
{
public UnsupportedOSPlatformAttribute(string platformName) : base(platformName) { }
+ public UnsupportedOSPlatformAttribute(string platformName, string? message) : base(platformName) { }
+ public string? Message { get { throw null; } }
}
[System.AttributeUsageAttribute(System.AttributeTargets.Field | System.AttributeTargets.Method | System.AttributeTargets.Property, AllowMultiple=true, Inherited=false)]
public sealed partial class UnsupportedOSPlatformGuardAttribute : System.Runtime.Versioning.OSPlatformAttribute
var tpa = new UnsupportedOSPlatformAttribute(platformName);
Assert.Equal(platformName, tpa.PlatformName);
+ Assert.Null(tpa.Message);
+ }
+
+ [Theory]
+ [InlineData("Windows8.0", "Message in a bottle")]
+ [InlineData("Android4.1", "Message on a pigeon")]
+ [InlineData("", null)]
+ public void TestUnsupportedOSPlatformAttributeWithMessage(string platformName, string? message)
+ {
+ var tpa = new UnsupportedOSPlatformAttribute(platformName, message);
+
+ Assert.Equal(platformName, tpa.PlatformName);
+ Assert.Equal(message, tpa.Message);
}
[Theory]
[InlineData("Windows8.0")]
[InlineData("Android4.1")]
[InlineData("")]
+ public void TestObsoletedInOSPlatformAttribute(string platformName)
+ {
+ var tpa = new ObsoletedInOSPlatformAttribute(platformName);
+
+ Assert.Equal(platformName, tpa.PlatformName);
+ }
+
+ [Theory]
+ [InlineData("Windows8.0", "Message in a bottle")]
+ [InlineData("Android4.1", "Message on a pigeon")]
+ [InlineData("", null)]
+ public void TestObsoletedInOSPlatformAttributeWithMessage(string platformName, string? message)
+ {
+ var tpa = new ObsoletedInOSPlatformAttribute(platformName, message);
+
+ Assert.Equal(platformName, tpa.PlatformName);
+ Assert.Equal(message, tpa.Message);
+ }
+
+ [Theory]
+ [InlineData("Windows8.0")]
+ [InlineData("Android4.1")]
+ [InlineData("")]
public void TestUnsupportedOSPlatformGuardAttribute(string platformName)
{
var uopga = new UnsupportedOSPlatformGuardAttribute(platformName);