Skip to content

Commit 81449fc

Browse files
committed
Use C# 14's field keyword in more places
1 parent 739bbf7 commit 81449fc

File tree

143 files changed

+453
-1256
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

143 files changed

+453
-1256
lines changed

src/libraries/Common/src/System/CodeDom/CodeObject.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@ public class CodeObject
1616
internal class CodeObject
1717
#endif
1818
{
19-
private IDictionary? _userData;
20-
2119
public CodeObject() { }
2220

23-
public IDictionary UserData => _userData ??= new ListDictionary();
21+
public IDictionary UserData => field ??= new ListDictionary();
2422
}
2523
}

src/libraries/Common/src/System/Data/Common/AdapterUtil.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,8 @@ internal static partial class ADP
1919
{
2020
// NOTE: Initializing a Task in SQL CLR requires the "UNSAFE" permission set (https://learn.microsoft.com/dotnet/framework/performance/sql-server-programming-and-host-protection-attributes)
2121
// Therefore we are lazily initializing these Tasks to avoid forcing customers to use the "UNSAFE" set when they are actually using no Async features
22-
private static Task<bool>? _trueTask;
23-
internal static Task<bool> TrueTask => _trueTask ??= Task.FromResult(true);
24-
25-
private static Task<bool>? _falseTask;
26-
internal static Task<bool> FalseTask => _falseTask ??= Task.FromResult(false);
22+
internal static Task<bool> TrueTask => field ??= Task.FromResult(true);
23+
internal static Task<bool> FalseTask => field ??= Task.FromResult(false);
2724

2825
internal const CompareOptions DefaultCompareOptions = CompareOptions.IgnoreKanaType | CompareOptions.IgnoreWidth | CompareOptions.IgnoreCase;
2926
internal const int DefaultConnectionTimeout = DbConnectionStringDefaults.ConnectTimeout;

src/libraries/Common/src/System/Security/Cryptography/Oids.Shared.cs

Lines changed: 35 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -8,74 +8,41 @@ namespace System.Security.Cryptography
88
{
99
internal static partial class Oids
1010
{
11-
private static Oid? s_rsaOid;
12-
private static Oid? s_ecPublicKeyOid;
13-
private static Oid? s_tripleDesCbcOid;
14-
private static Oid? s_aes256CbcOid;
15-
private static Oid? s_secp256R1Oid;
16-
private static Oid? s_secp384R1Oid;
17-
private static Oid? s_secp521R1Oid;
18-
private static Oid? s_sha256Oid;
19-
private static Oid? s_pkcs7DataOid;
20-
private static Oid? s_contentTypeOid;
21-
private static Oid? s_documentDescriptionOid;
22-
private static Oid? s_documentNameOid;
23-
private static Oid? s_localKeyIdOid;
24-
private static Oid? s_messageDigestOid;
25-
private static Oid? s_signingTimeOid;
26-
private static Oid? s_pkcs9ExtensionRequestOid;
27-
private static Oid? s_basicConstraints2Oid;
28-
private static Oid? s_enhancedKeyUsageOid;
29-
private static Oid? s_keyUsageOid;
30-
private static Oid? s_subjectAltNameOid;
31-
private static Oid? s_subjectKeyIdentifierOid;
32-
private static Oid? s_authorityKeyIdentifierOid;
33-
private static Oid? s_authorityInformationAccessOid;
34-
private static Oid? s_crlNumberOid;
35-
private static Oid? s_crlDistributionPointOid;
36-
private static Oid? s_commonNameOid;
37-
private static Oid? s_countryOrRegionOid;
38-
private static Oid? s_localityNameOid;
39-
private static Oid? s_stateOrProvinceNameOid;
40-
private static Oid? s_organizationOid;
41-
private static Oid? s_organizationalUnitOid;
42-
private static Oid? s_emailAddressOid;
43-
44-
internal static Oid RsaOid => s_rsaOid ??= InitializeOid(Rsa);
45-
internal static Oid EcPublicKeyOid => s_ecPublicKeyOid ??= InitializeOid(EcPublicKey);
46-
internal static Oid TripleDesCbcOid => s_tripleDesCbcOid ??= InitializeOid(TripleDesCbc);
47-
internal static Oid Aes256CbcOid => s_aes256CbcOid ??= InitializeOid(Aes256Cbc);
48-
internal static Oid secp256r1Oid => s_secp256R1Oid ??= new Oid(secp256r1, nameof(ECCurve.NamedCurves.nistP256));
49-
internal static Oid secp384r1Oid => s_secp384R1Oid ??= new Oid(secp384r1, nameof(ECCurve.NamedCurves.nistP384));
50-
internal static Oid secp521r1Oid => s_secp521R1Oid ??= new Oid(secp521r1, nameof(ECCurve.NamedCurves.nistP521));
51-
internal static Oid Sha256Oid => s_sha256Oid ??= InitializeOid(Sha256);
52-
53-
internal static Oid Pkcs7DataOid => s_pkcs7DataOid ??= InitializeOid(Pkcs7Data);
54-
internal static Oid ContentTypeOid => s_contentTypeOid ??= InitializeOid(ContentType);
55-
internal static Oid DocumentDescriptionOid => s_documentDescriptionOid ??= InitializeOid(DocumentDescription);
56-
internal static Oid DocumentNameOid => s_documentNameOid ??= InitializeOid(DocumentName);
57-
internal static Oid LocalKeyIdOid => s_localKeyIdOid ??= InitializeOid(LocalKeyId);
58-
internal static Oid MessageDigestOid => s_messageDigestOid ??= InitializeOid(MessageDigest);
59-
internal static Oid SigningTimeOid => s_signingTimeOid ??= InitializeOid(SigningTime);
60-
internal static Oid Pkcs9ExtensionRequestOid => s_pkcs9ExtensionRequestOid ??= InitializeOid(Pkcs9ExtensionRequest);
61-
62-
internal static Oid BasicConstraints2Oid => s_basicConstraints2Oid ??= InitializeOid(BasicConstraints2);
63-
internal static Oid EnhancedKeyUsageOid => s_enhancedKeyUsageOid ??= InitializeOid(EnhancedKeyUsage);
64-
internal static Oid KeyUsageOid => s_keyUsageOid ??= InitializeOid(KeyUsage);
65-
internal static Oid AuthorityKeyIdentifierOid => s_authorityKeyIdentifierOid ??= InitializeOid(AuthorityKeyIdentifier);
66-
internal static Oid SubjectKeyIdentifierOid => s_subjectKeyIdentifierOid ??= InitializeOid(SubjectKeyIdentifier);
67-
internal static Oid SubjectAltNameOid => s_subjectAltNameOid ??= InitializeOid(SubjectAltName);
68-
internal static Oid AuthorityInformationAccessOid => s_authorityInformationAccessOid ??= InitializeOid(AuthorityInformationAccess);
69-
internal static Oid CrlNumberOid => s_crlNumberOid ??= InitializeOid(CrlNumber);
70-
internal static Oid CrlDistributionPointsOid => s_crlDistributionPointOid ??= InitializeOid(CrlDistributionPoints);
71-
72-
internal static Oid CommonNameOid => s_commonNameOid ??= InitializeOid(CommonName);
73-
internal static Oid CountryOrRegionNameOid => s_countryOrRegionOid ??= InitializeOid(CountryOrRegionName);
74-
internal static Oid LocalityNameOid => s_localityNameOid ??= InitializeOid(LocalityName);
75-
internal static Oid StateOrProvinceNameOid => s_stateOrProvinceNameOid ??= InitializeOid(StateOrProvinceName);
76-
internal static Oid OrganizationOid => s_organizationOid ??= InitializeOid(Organization);
77-
internal static Oid OrganizationalUnitOid => s_organizationalUnitOid ??= InitializeOid(OrganizationalUnit);
78-
internal static Oid EmailAddressOid => s_emailAddressOid ??= InitializeOid(EmailAddress);
11+
internal static Oid RsaOid => field ??= InitializeOid(Rsa);
12+
internal static Oid EcPublicKeyOid => field ??= InitializeOid(EcPublicKey);
13+
internal static Oid TripleDesCbcOid => field ??= InitializeOid(TripleDesCbc);
14+
internal static Oid Aes256CbcOid => field ??= InitializeOid(Aes256Cbc);
15+
internal static Oid secp256r1Oid => field ??= new Oid(secp256r1, nameof(ECCurve.NamedCurves.nistP256));
16+
internal static Oid secp384r1Oid => field ??= new Oid(secp384r1, nameof(ECCurve.NamedCurves.nistP384));
17+
internal static Oid secp521r1Oid => field ??= new Oid(secp521r1, nameof(ECCurve.NamedCurves.nistP521));
18+
internal static Oid Sha256Oid => field ??= InitializeOid(Sha256);
19+
20+
internal static Oid Pkcs7DataOid => field ??= InitializeOid(Pkcs7Data);
21+
internal static Oid ContentTypeOid => field ??= InitializeOid(ContentType);
22+
internal static Oid DocumentDescriptionOid => field ??= InitializeOid(DocumentDescription);
23+
internal static Oid DocumentNameOid => field ??= InitializeOid(DocumentName);
24+
internal static Oid LocalKeyIdOid => field ??= InitializeOid(LocalKeyId);
25+
internal static Oid MessageDigestOid => field ??= InitializeOid(MessageDigest);
26+
internal static Oid SigningTimeOid => field ??= InitializeOid(SigningTime);
27+
internal static Oid Pkcs9ExtensionRequestOid => field ??= InitializeOid(Pkcs9ExtensionRequest);
28+
29+
internal static Oid BasicConstraints2Oid => field ??= InitializeOid(BasicConstraints2);
30+
internal static Oid EnhancedKeyUsageOid => field ??= InitializeOid(EnhancedKeyUsage);
31+
internal static Oid KeyUsageOid => field ??= InitializeOid(KeyUsage);
32+
internal static Oid AuthorityKeyIdentifierOid => field ??= InitializeOid(AuthorityKeyIdentifier);
33+
internal static Oid SubjectKeyIdentifierOid => field ??= InitializeOid(SubjectKeyIdentifier);
34+
internal static Oid SubjectAltNameOid => field ??= InitializeOid(SubjectAltName);
35+
internal static Oid AuthorityInformationAccessOid => field ??= InitializeOid(AuthorityInformationAccess);
36+
internal static Oid CrlNumberOid => field ??= InitializeOid(CrlNumber);
37+
internal static Oid CrlDistributionPointsOid => field ??= InitializeOid(CrlDistributionPoints);
38+
39+
internal static Oid CommonNameOid => field ??= InitializeOid(CommonName);
40+
internal static Oid CountryOrRegionNameOid => field ??= InitializeOid(CountryOrRegionName);
41+
internal static Oid LocalityNameOid => field ??= InitializeOid(LocalityName);
42+
internal static Oid StateOrProvinceNameOid => field ??= InitializeOid(StateOrProvinceName);
43+
internal static Oid OrganizationOid => field ??= InitializeOid(Organization);
44+
internal static Oid OrganizationalUnitOid => field ??= InitializeOid(OrganizationalUnit);
45+
internal static Oid EmailAddressOid => field ??= InitializeOid(EmailAddress);
7946

8047
private static Oid InitializeOid(string oidValue)
8148
{

src/libraries/Common/tests/TestUtilities/System/IO/FileCleanupTestBase.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,7 @@ protected virtual void Dispose(bool disposing)
100100
protected string GetRandomLinkPath([CallerMemberName] string memberName = null, [CallerLineNumber] int lineNumber = 0) => Path.Combine(TestDirectoryActualCasing, GetRandomLinkName(memberName, lineNumber));
101101
protected string GetRandomDirPath([CallerMemberName] string memberName = null, [CallerLineNumber] int lineNumber = 0) => Path.Combine(TestDirectoryActualCasing, GetRandomDirName(memberName, lineNumber));
102102

103-
private string _testDirectoryActualCasing;
104-
private string TestDirectoryActualCasing => _testDirectoryActualCasing ??= GetTestDirectoryActualCasing();
103+
private string TestDirectoryActualCasing => field ??= GetTestDirectoryActualCasing();
105104

106105
/// <summary>Gets a test file full path that is associated with the call site.</summary>
107106
/// <param name="index">An optional index value to use as a suffix on the file name. Typically a loop index.</param>

src/libraries/Microsoft.Extensions.Http/src/DefaultHttpMessageHandlerBuilder.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ namespace Microsoft.Extensions.Http
1313
{
1414
internal sealed class DefaultHttpMessageHandlerBuilder : HttpMessageHandlerBuilder
1515
{
16-
private HttpMessageHandler? _primaryHandler;
1716
private string? _name;
1817

1918
public DefaultHttpMessageHandlerBuilder(IServiceProvider services)
@@ -34,8 +33,8 @@ public override string? Name
3433

3534
public override HttpMessageHandler PrimaryHandler
3635
{
37-
get => _primaryHandler ??= CreatePrimaryHandler();
38-
set => _primaryHandler = value;
36+
get => field ??= CreatePrimaryHandler();
37+
set => field = value;
3938
}
4039

4140
public override IList<DelegatingHandler> AdditionalHandlers { get; } = new List<DelegatingHandler>();

src/libraries/Microsoft.Extensions.Http/src/Logging/LoggingHttpMessageHandlerBuilderFilter.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,7 @@ internal sealed class LoggingHttpMessageHandlerBuilderFilter : IHttpMessageHandl
1515
{
1616
// we want to prevent a circular depencency between ILoggerFactory and IHttpMessageHandlerBuilderFilter, in case
1717
// any of ILoggerProvider instances use IHttpClientFactory to send logs to an external server
18-
private ILoggerFactory? _loggerFactory;
19-
private ILoggerFactory LoggerFactory => _loggerFactory ??= _serviceProvider.GetRequiredService<ILoggerFactory>();
18+
private ILoggerFactory LoggerFactory => field ??= _serviceProvider.GetRequiredService<ILoggerFactory>();
2019
private readonly IServiceProvider _serviceProvider;
2120
private readonly IOptionsMonitor<HttpClientFactoryOptions> _optionsMonitor;
2221

src/libraries/Microsoft.Extensions.Logging.EventLog/src/EventLogSettings.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ namespace Microsoft.Extensions.Logging.EventLog
1010
/// </summary>
1111
public class EventLogSettings
1212
{
13-
private IEventLog? _eventLog;
14-
1513
/// <summary>
1614
/// Gets or sets the name of the event log. If <see langword="null" /> or not specified, "Application" is the default.
1715
/// </summary>
@@ -34,10 +32,10 @@ public class EventLogSettings
3432

3533
internal IEventLog EventLog
3634
{
37-
get => _eventLog ??= CreateDefaultEventLog();
35+
get => field ??= CreateDefaultEventLog();
3836

3937
// For unit testing purposes only.
40-
set => _eventLog = value;
38+
set => field = value;
4139
}
4240

4341
private WindowsEventLog CreateDefaultEventLog()

src/libraries/System.CodeDom/src/System/CodeDom/CodeArrayIndexerExpression.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ namespace System.CodeDom
55
{
66
public class CodeArrayIndexerExpression : CodeExpression
77
{
8-
private CodeExpressionCollection _indices;
9-
108
public CodeArrayIndexerExpression() { }
119

1210
public CodeArrayIndexerExpression(CodeExpression targetObject, params CodeExpression[] indices)
@@ -17,6 +15,6 @@ public CodeArrayIndexerExpression(CodeExpression targetObject, params CodeExpres
1715

1816
public CodeExpression TargetObject { get; set; }
1917

20-
public CodeExpressionCollection Indices => _indices ??= new CodeExpressionCollection();
18+
public CodeExpressionCollection Indices => field ??= new CodeExpressionCollection();
2119
}
2220
}

src/libraries/System.CodeDom/src/System/CodeDom/CodeCastExpression.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@ namespace System.CodeDom
55
{
66
public class CodeCastExpression : CodeExpression
77
{
8-
private CodeTypeReference _targetType;
9-
108
public CodeCastExpression() { }
119

1210
public CodeCastExpression(CodeTypeReference targetType, CodeExpression expression)
@@ -29,8 +27,8 @@ public CodeCastExpression(Type targetType, CodeExpression expression)
2927

3028
public CodeTypeReference TargetType
3129
{
32-
get => _targetType ??= new CodeTypeReference("");
33-
set => _targetType = value;
30+
get => field ??= new CodeTypeReference("");
31+
set => field = value;
3432
}
3533

3634
public CodeExpression Expression { get; set; }

src/libraries/System.CodeDom/src/System/CodeDom/CodeCatchClause.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ namespace System.CodeDom
55
{
66
public class CodeCatchClause
77
{
8-
private CodeStatementCollection _statements;
98
private CodeTypeReference _catchExceptionType;
109
private string _localName;
1110

@@ -41,6 +40,6 @@ public CodeTypeReference CatchExceptionType
4140
set => _catchExceptionType = value;
4241
}
4342

44-
public CodeStatementCollection Statements => _statements ??= new CodeStatementCollection();
43+
public CodeStatementCollection Statements => field ??= new CodeStatementCollection();
4544
}
4645
}

0 commit comments

Comments
 (0)