浏览代码

NetworkManager: Use MemberNotNull attribute

Added in .NET 5, this attribute allows for the compiler to recognize
that InitializeLan (and by extension, UpdateSettings) will initialize
the specified fields.
Alexander Gramiak 11 月之前
父节点
当前提交
76ac1e6143
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      src/Jellyfin.Networking/Manager/NetworkManager.cs

+ 2 - 2
src/Jellyfin.Networking/Manager/NetworkManager.cs

@@ -81,7 +81,6 @@ public class NetworkManager : INetworkManager, IDisposable
     /// <param name="configurationManager">The <see cref="IConfigurationManager"/> instance.</param>
     /// <param name="configurationManager">The <see cref="IConfigurationManager"/> instance.</param>
     /// <param name="startupConfig">The <see cref="IConfiguration"/> instance holding startup parameters.</param>
     /// <param name="startupConfig">The <see cref="IConfiguration"/> instance holding startup parameters.</param>
     /// <param name="logger">Logger to use for messages.</param>
     /// <param name="logger">Logger to use for messages.</param>
-#pragma warning disable CS8618 // Non-nullable field is uninitialized. : Values are set in UpdateSettings function. Compiler doesn't yet recognise this.
     public NetworkManager(IConfigurationManager configurationManager, IConfiguration startupConfig, ILogger<NetworkManager> logger)
     public NetworkManager(IConfigurationManager configurationManager, IConfiguration startupConfig, ILogger<NetworkManager> logger)
     {
     {
         ArgumentNullException.ThrowIfNull(logger);
         ArgumentNullException.ThrowIfNull(logger);
@@ -109,7 +108,6 @@ public class NetworkManager : INetworkManager, IDisposable
 
 
         _configurationManager.NamedConfigurationUpdated += ConfigurationUpdated;
         _configurationManager.NamedConfigurationUpdated += ConfigurationUpdated;
     }
     }
-#pragma warning restore CS8618 // Non-nullable field is uninitialized.
 
 
     /// <summary>
     /// <summary>
     /// Event triggered on network changes.
     /// Event triggered on network changes.
@@ -312,6 +310,7 @@ public class NetworkManager : INetworkManager, IDisposable
     /// <summary>
     /// <summary>
     /// Initializes internal LAN cache.
     /// Initializes internal LAN cache.
     /// </summary>
     /// </summary>
+    [MemberNotNull(nameof(_lanSubnets), nameof(_excludedSubnets))]
     private void InitializeLan(NetworkConfiguration config)
     private void InitializeLan(NetworkConfiguration config)
     {
     {
         lock (_initLock)
         lock (_initLock)
@@ -591,6 +590,7 @@ public class NetworkManager : INetworkManager, IDisposable
     /// Reloads all settings and re-Initializes the instance.
     /// Reloads all settings and re-Initializes the instance.
     /// </summary>
     /// </summary>
     /// <param name="configuration">The <see cref="NetworkConfiguration"/> to use.</param>
     /// <param name="configuration">The <see cref="NetworkConfiguration"/> to use.</param>
+    [MemberNotNull(nameof(_lanSubnets), nameof(_excludedSubnets))]
     public void UpdateSettings(object configuration)
     public void UpdateSettings(object configuration)
     {
     {
         ArgumentNullException.ThrowIfNull(configuration);
         ArgumentNullException.ThrowIfNull(configuration);