diff --git a/RGB.NET.Core/Groups/ListLedGroup.cs b/RGB.NET.Core/Groups/ListLedGroup.cs
index a97b6ec..4bca2fb 100644
--- a/RGB.NET.Core/Groups/ListLedGroup.cs
+++ b/RGB.NET.Core/Groups/ListLedGroup.cs
@@ -11,7 +11,7 @@ namespace RGB.NET.Core;
///
/// Represents a ledgroup containing arbitrary .
///
-public class ListLedGroup : AbstractLedGroup
+public sealed class ListLedGroup : AbstractLedGroup
{
#region Properties & Fields
@@ -20,7 +20,7 @@ public class ListLedGroup : AbstractLedGroup
///
/// Gets the list containing the of this .
///
- protected IList GroupLeds { get; } = new List();
+ private readonly IList _groupLeds = new List();
#endregion
@@ -81,10 +81,10 @@ public class ListLedGroup : AbstractLedGroup
/// The to add.
public void AddLeds(IEnumerable leds)
{
- lock (GroupLeds)
+ lock (_groupLeds)
foreach (Led led in leds)
if (!ContainsLed(led))
- GroupLeds.Add(led);
+ _groupLeds.Add(led);
}
///
@@ -99,9 +99,9 @@ public class ListLedGroup : AbstractLedGroup
/// The to remove.
public void RemoveLeds(IEnumerable leds)
{
- lock (GroupLeds)
+ lock (_groupLeds)
foreach (Led led in leds)
- GroupLeds.Remove(led);
+ _groupLeds.Remove(led);
}
///
@@ -111,8 +111,8 @@ public class ListLedGroup : AbstractLedGroup
/// true if the LED is contained by this ledgroup; otherwise, false.
public bool ContainsLed(Led led)
{
- lock (GroupLeds)
- return GroupLeds.Contains(led);
+ lock (_groupLeds)
+ return _groupLeds.Contains(led);
}
///
@@ -121,10 +121,10 @@ public class ListLedGroup : AbstractLedGroup
/// The ledgroup to merge.
public void MergeLeds(ILedGroup groupToMerge)
{
- lock (GroupLeds)
+ lock (_groupLeds)
foreach (Led led in groupToMerge)
- if (!GroupLeds.Contains(led))
- GroupLeds.Add(led);
+ if (!_groupLeds.Contains(led))
+ _groupLeds.Add(led);
}
///
@@ -141,18 +141,18 @@ public class ListLedGroup : AbstractLedGroup
/// The list containing the .
public override IList ToList()
{
- lock (GroupLeds)
- return new List(GroupLeds);
+ lock (_groupLeds)
+ return new List(_groupLeds);
}
protected override IDisposable ToListUnsafe(out IList leds)
{
- Monitor.Enter(GroupLeds);
- leds = GroupLeds;
+ Monitor.Enter(_groupLeds);
+ leds = _groupLeds;
return _unlockDisposable;
}
- private void Unlock() => Monitor.Exit(GroupLeds);
+ private void Unlock() => Monitor.Exit(_groupLeds);
#endregion
}
\ No newline at end of file
diff --git a/RGB.NET.Core/Leds/Led.cs b/RGB.NET.Core/Leds/Led.cs
index ad2e3f9..2fb05ea 100644
--- a/RGB.NET.Core/Leds/Led.cs
+++ b/RGB.NET.Core/Leds/Led.cs
@@ -9,7 +9,7 @@ namespace RGB.NET.Core;
/// Represents a single LED of a RGB-device.
///
[DebuggerDisplay("{Id} {Color}")]
-public class Led : Placeable
+public sealed class Led : Placeable
{
#region Properties & Fields
diff --git a/RGB.NET.Core/Leds/LedMapping.cs b/RGB.NET.Core/Leds/LedMapping.cs
index 05a10ec..0aab16d 100644
--- a/RGB.NET.Core/Leds/LedMapping.cs
+++ b/RGB.NET.Core/Leds/LedMapping.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Core;
/// Represents a mapping from to a custom identifier.
///
/// The identifier the is mapped to.
-public class LedMapping : IEnumerable<(LedId ledId, T mapping)>
+public sealed class LedMapping : IEnumerable<(LedId ledId, T mapping)>
where T : notnull
{
#region Constants
diff --git a/RGB.NET.Core/Rendering/Brushes/SolidColorBrush.cs b/RGB.NET.Core/Rendering/Brushes/SolidColorBrush.cs
index 4175db1..158705c 100644
--- a/RGB.NET.Core/Rendering/Brushes/SolidColorBrush.cs
+++ b/RGB.NET.Core/Rendering/Brushes/SolidColorBrush.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Core;
///
/// Represents a brush drawing only a single color.
///
-public class SolidColorBrush : AbstractBrush
+public sealed class SolidColorBrush : AbstractBrush
{
#region Properties & Fields
diff --git a/RGB.NET.Core/Rendering/Brushes/TextureBrush.cs b/RGB.NET.Core/Rendering/Brushes/TextureBrush.cs
index 4a2de6e..41280cd 100644
--- a/RGB.NET.Core/Rendering/Brushes/TextureBrush.cs
+++ b/RGB.NET.Core/Rendering/Brushes/TextureBrush.cs
@@ -4,7 +4,7 @@
///
/// Represents a brush drawing a texture.
///
-public class TextureBrush : AbstractBrush
+public sealed class TextureBrush : AbstractBrush
{
#region Properties & Fields
diff --git a/RGB.NET.Core/Rendering/Textures/EmptyTexture.cs b/RGB.NET.Core/Rendering/Textures/EmptyTexture.cs
index 588b62b..7aca9b7 100644
--- a/RGB.NET.Core/Rendering/Textures/EmptyTexture.cs
+++ b/RGB.NET.Core/Rendering/Textures/EmptyTexture.cs
@@ -1,6 +1,6 @@
namespace RGB.NET.Core;
-internal class EmptyTexture : ITexture
+internal sealed class EmptyTexture : ITexture
{
#region Properties & Fields
diff --git a/RGB.NET.Core/Update/CustomUpdateData.cs b/RGB.NET.Core/Update/CustomUpdateData.cs
index a657e96..4888cd1 100644
--- a/RGB.NET.Core/Update/CustomUpdateData.cs
+++ b/RGB.NET.Core/Update/CustomUpdateData.cs
@@ -48,7 +48,7 @@ public interface ICustomUpdateData
///
/// Represents a set of custom data, each indexed by a string-key.
///
-public class CustomUpdateData : ICustomUpdateData
+public sealed class CustomUpdateData : ICustomUpdateData
{
#region Properties & Fields
@@ -92,7 +92,7 @@ public class CustomUpdateData : ICustomUpdateData
#endregion
}
-internal class DefaultCustomUpdateData : ICustomUpdateData
+internal sealed class DefaultCustomUpdateData : ICustomUpdateData
{
#region Constants
@@ -120,7 +120,7 @@ internal class DefaultCustomUpdateData : ICustomUpdateData
#region Constructors
- public DefaultCustomUpdateData(bool flushLeds)
+ private DefaultCustomUpdateData(bool flushLeds)
{
this._flushLeds = flushLeds;
}
diff --git a/RGB.NET.Core/Update/TimerUpdateTrigger.cs b/RGB.NET.Core/Update/TimerUpdateTrigger.cs
index 9f2b2b6..6b94b3f 100644
--- a/RGB.NET.Core/Update/TimerUpdateTrigger.cs
+++ b/RGB.NET.Core/Update/TimerUpdateTrigger.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Core;
///
/// Represents an update trigger that triggers in a set interval.
///
-public class TimerUpdateTrigger : AbstractUpdateTrigger
+public sealed class TimerUpdateTrigger : AbstractUpdateTrigger
{
#region Properties & Fields
@@ -21,17 +21,17 @@ public class TimerUpdateTrigger : AbstractUpdateTrigger
///
/// Gets or sets the update loop of this trigger.
///
- protected Task? UpdateTask { get; set; }
+ private Task? _updateTask;
///
- /// Gets or sets the cancellation token source used to create the cancellation token checked by the .
+ /// Gets or sets the cancellation token source used to create the cancellation token checked by the .
///
- protected CancellationTokenSource? UpdateTokenSource { get; set; }
+ private CancellationTokenSource? _updateTokenSource;
///
- /// Gets or sets the cancellation token checked by the .
+ /// Gets or sets the cancellation token checked by the .
///
- protected CancellationToken UpdateToken { get; set; }
+ private CancellationToken _updateToken;
private double _updateFrequency = 1.0 / 30.0;
///
@@ -88,11 +88,11 @@ public class TimerUpdateTrigger : AbstractUpdateTrigger
{
lock (_lock)
{
- if (UpdateTask == null)
+ if (_updateTask == null)
{
- UpdateTokenSource?.Dispose();
- UpdateTokenSource = new CancellationTokenSource();
- UpdateTask = Task.Factory.StartNew(UpdateLoop, (UpdateToken = UpdateTokenSource.Token), TaskCreationOptions.LongRunning, TaskScheduler.Default);
+ _updateTokenSource?.Dispose();
+ _updateTokenSource = new CancellationTokenSource();
+ _updateTask = Task.Factory.StartNew(UpdateLoop, (_updateToken = _updateTokenSource.Token), TaskCreationOptions.LongRunning, TaskScheduler.Default);
}
}
}
@@ -104,13 +104,13 @@ public class TimerUpdateTrigger : AbstractUpdateTrigger
{
lock (_lock)
{
- if (UpdateTask != null)
+ if (_updateTask != null)
{
- UpdateTokenSource?.Cancel();
+ _updateTokenSource?.Cancel();
try
{
// ReSharper disable once MethodSupportsCancellation
- UpdateTask.Wait();
+ _updateTask.Wait();
}
catch (AggregateException)
{
@@ -118,8 +118,8 @@ public class TimerUpdateTrigger : AbstractUpdateTrigger
}
finally
{
- UpdateTask.Dispose();
- UpdateTask = null;
+ _updateTask.Dispose();
+ _updateTask = null;
}
}
}
@@ -130,7 +130,7 @@ public class TimerUpdateTrigger : AbstractUpdateTrigger
OnStartup();
using (TimerHelper.RequestHighResolutionTimer())
- while (!UpdateToken.IsCancellationRequested)
+ while (!_updateToken.IsCancellationRequested)
LastUpdateTime = TimerHelper.Execute(TimerExecute, UpdateFrequency * 1000);
}
@@ -140,7 +140,6 @@ public class TimerUpdateTrigger : AbstractUpdateTrigger
public override void Dispose()
{
Stop();
- GC.SuppressFinalize(this);
}
#endregion
diff --git a/RGB.NET.Devices.Asus/AsusDeviceProvider.cs b/RGB.NET.Devices.Asus/AsusDeviceProvider.cs
index f9af5b3..318850e 100644
--- a/RGB.NET.Devices.Asus/AsusDeviceProvider.cs
+++ b/RGB.NET.Devices.Asus/AsusDeviceProvider.cs
@@ -12,7 +12,7 @@ namespace RGB.NET.Devices.Asus;
///
/// Represents a device provider responsible for Cooler Master devices.
///
-public class AsusDeviceProvider : AbstractRGBDeviceProvider
+public sealed class AsusDeviceProvider : AbstractRGBDeviceProvider
{
#region Properties & Fields
@@ -88,8 +88,6 @@ public class AsusDeviceProvider : AbstractRGBDeviceProvider
_devices = null;
_sdk = null;
-
- GC.SuppressFinalize(this);
}
#endregion
diff --git a/RGB.NET.Devices.Asus/Generic/AsusUnspecifiedRGBDevice.cs b/RGB.NET.Devices.Asus/Generic/AsusUnspecifiedRGBDevice.cs
index bb40578..fe3c238 100644
--- a/RGB.NET.Devices.Asus/Generic/AsusUnspecifiedRGBDevice.cs
+++ b/RGB.NET.Devices.Asus/Generic/AsusUnspecifiedRGBDevice.cs
@@ -6,7 +6,7 @@ namespace RGB.NET.Devices.Asus;
///
/// Represents a Asus headset.
///
-public class AsusUnspecifiedRGBDevice : AsusRGBDevice, IUnknownDevice
+public sealed class AsusUnspecifiedRGBDevice : AsusRGBDevice, IUnknownDevice
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Asus/Generic/AsusUpdateQueue.cs b/RGB.NET.Devices.Asus/Generic/AsusUpdateQueue.cs
index 012ed7e..2f40ec6 100644
--- a/RGB.NET.Devices.Asus/Generic/AsusUpdateQueue.cs
+++ b/RGB.NET.Devices.Asus/Generic/AsusUpdateQueue.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.Asus;
///
/// Represents the update-queue performing updates for asus devices.
///
-public class AsusUpdateQueue : UpdateQueue
+public sealed class AsusUpdateQueue : UpdateQueue
{
#region Properties & Fields
@@ -17,7 +17,7 @@ public class AsusUpdateQueue : UpdateQueue
///
/// The device to be updated.
///
- protected IAuraSyncDevice Device { get; }
+ private readonly IAuraSyncDevice _device;
#endregion
@@ -31,7 +31,7 @@ public class AsusUpdateQueue : UpdateQueue
public AsusUpdateQueue(IDeviceUpdateTrigger updateTrigger, IAuraSyncDevice device)
: base(updateTrigger)
{
- this.Device = device;
+ this._device = device;
this._lights = new IAuraRgbLight[device.Lights.Count];
for (int i = 0; i < device.Lights.Count; i++)
@@ -47,9 +47,9 @@ public class AsusUpdateQueue : UpdateQueue
{
try
{
- if ((Device.Type == (uint)AsusDeviceType.KEYBOARD_RGB) || (Device.Type == (uint)AsusDeviceType.NB_KB_RGB))
+ if ((_device.Type == (uint)AsusDeviceType.KEYBOARD_RGB) || (_device.Type == (uint)AsusDeviceType.NB_KB_RGB))
{
- if (Device is not IAuraSyncKeyboard keyboard)
+ if (_device is not IAuraSyncKeyboard keyboard)
return true;
foreach ((object customData, Color value) in dataSet)
@@ -87,7 +87,7 @@ public class AsusUpdateQueue : UpdateQueue
}
}
- Device.Apply();
+ _device.Apply();
return true;
}
diff --git a/RGB.NET.Devices.Asus/GraphicsCard/AsusGraphicsCardRGBDevice.cs b/RGB.NET.Devices.Asus/GraphicsCard/AsusGraphicsCardRGBDevice.cs
index 15c2383..1debf59 100644
--- a/RGB.NET.Devices.Asus/GraphicsCard/AsusGraphicsCardRGBDevice.cs
+++ b/RGB.NET.Devices.Asus/GraphicsCard/AsusGraphicsCardRGBDevice.cs
@@ -6,7 +6,7 @@ namespace RGB.NET.Devices.Asus;
///
/// Represents a Asus graphicsCard.
///
-public class AsusGraphicsCardRGBDevice : AsusRGBDevice, IGraphicsCard
+public sealed class AsusGraphicsCardRGBDevice : AsusRGBDevice, IGraphicsCard
{
#region Constructors
diff --git a/RGB.NET.Devices.Asus/Headset/AsusHeadsetRGBDevice.cs b/RGB.NET.Devices.Asus/Headset/AsusHeadsetRGBDevice.cs
index 71f9e10..516dab6 100644
--- a/RGB.NET.Devices.Asus/Headset/AsusHeadsetRGBDevice.cs
+++ b/RGB.NET.Devices.Asus/Headset/AsusHeadsetRGBDevice.cs
@@ -6,7 +6,7 @@ namespace RGB.NET.Devices.Asus;
///
/// Represents a Asus headset.
///
-public class AsusHeadsetRGBDevice : AsusRGBDevice, IHeadset
+public sealed class AsusHeadsetRGBDevice : AsusRGBDevice, IHeadset
{
#region Constructors
diff --git a/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardRGBDevice.cs b/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardRGBDevice.cs
index 86f64aa..30b429c 100644
--- a/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardRGBDevice.cs
+++ b/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardRGBDevice.cs
@@ -20,7 +20,7 @@ public record AsusKeyboardExtraMapping(Regex Regex, LedMapping LedMapping);
///
/// Represents a Asus keyboard.
///
-public class AsusKeyboardRGBDevice : AsusRGBDevice, IKeyboard
+public sealed class AsusKeyboardRGBDevice : AsusRGBDevice, IKeyboard
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardRGBDeviceInfo.cs b/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardRGBDeviceInfo.cs
index 4173271..b40ec59 100644
--- a/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Asus/Keyboard/AsusKeyboardRGBDeviceInfo.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Asus;
///
/// Represents a generic information for a .
///
-public class AsusKeyboardRGBDeviceInfo : AsusRGBDeviceInfo, IKeyboardDeviceInfo
+public sealed class AsusKeyboardRGBDeviceInfo : AsusRGBDeviceInfo, IKeyboardDeviceInfo
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Asus/Mainboard/AsusMainboardRGBDevice.cs b/RGB.NET.Devices.Asus/Mainboard/AsusMainboardRGBDevice.cs
index 2f92bb6..137ae90 100644
--- a/RGB.NET.Devices.Asus/Mainboard/AsusMainboardRGBDevice.cs
+++ b/RGB.NET.Devices.Asus/Mainboard/AsusMainboardRGBDevice.cs
@@ -6,7 +6,7 @@ namespace RGB.NET.Devices.Asus;
///
/// Represents a Asus mainboard.
///
-public class AsusMainboardRGBDevice : AsusRGBDevice, IMainboard
+public sealed class AsusMainboardRGBDevice : AsusRGBDevice, IMainboard
{
#region Constructors
diff --git a/RGB.NET.Devices.Asus/Mouse/AsusMouseRGBDevice.cs b/RGB.NET.Devices.Asus/Mouse/AsusMouseRGBDevice.cs
index 3db166a..e4ae049 100644
--- a/RGB.NET.Devices.Asus/Mouse/AsusMouseRGBDevice.cs
+++ b/RGB.NET.Devices.Asus/Mouse/AsusMouseRGBDevice.cs
@@ -6,7 +6,7 @@ namespace RGB.NET.Devices.Asus;
///
/// Represents a Asus mouse.
///
-public class AsusMouseRGBDevice : AsusRGBDevice, IMouse
+public sealed class AsusMouseRGBDevice : AsusRGBDevice, IMouse
{
#region Constructors
diff --git a/RGB.NET.Devices.CoolerMaster/Attributes/DeviceTypeAttribute.cs b/RGB.NET.Devices.CoolerMaster/Attributes/DeviceTypeAttribute.cs
index 8aad300..07245cb 100644
--- a/RGB.NET.Devices.CoolerMaster/Attributes/DeviceTypeAttribute.cs
+++ b/RGB.NET.Devices.CoolerMaster/Attributes/DeviceTypeAttribute.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.CoolerMaster;
/// Specifies the of a field.
///
[AttributeUsage(AttributeTargets.Field)]
-public class DeviceTypeAttribute : Attribute
+public sealed class DeviceTypeAttribute : Attribute
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.CoolerMaster/CoolerMasterDeviceProvider.cs b/RGB.NET.Devices.CoolerMaster/CoolerMasterDeviceProvider.cs
index e51ed8a..ab16a45 100644
--- a/RGB.NET.Devices.CoolerMaster/CoolerMasterDeviceProvider.cs
+++ b/RGB.NET.Devices.CoolerMaster/CoolerMasterDeviceProvider.cs
@@ -13,7 +13,7 @@ namespace RGB.NET.Devices.CoolerMaster;
///
/// Represents a device provider responsible for Cooler Master devices.
///
-public class CoolerMasterDeviceProvider : AbstractRGBDeviceProvider
+public sealed class CoolerMasterDeviceProvider : AbstractRGBDeviceProvider
{
#region Properties & Fields
@@ -100,8 +100,6 @@ public class CoolerMasterDeviceProvider : AbstractRGBDeviceProvider
try { _CoolerMasterSDK.Reload(); }
catch { /* Unlucky.. */ }
-
- GC.SuppressFinalize(this);
}
#endregion
diff --git a/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterDevicesIndexes.cs b/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterDevicesIndexes.cs
index f528ccf..66eb53b 100644
--- a/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterDevicesIndexes.cs
+++ b/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterDevicesIndexes.cs
@@ -4,8 +4,6 @@
using System.ComponentModel;
using RGB.NET.Core;
-#pragma warning disable 1591 // Missing XML comment for publicly visible type or member
-
namespace RGB.NET.Devices.CoolerMaster;
///
diff --git a/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterEffects.cs b/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterEffects.cs
deleted file mode 100644
index b9fcaa1..0000000
--- a/RGB.NET.Devices.CoolerMaster/Enum/CoolerMasterEffects.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-// ReSharper disable InconsistentNaming
-// ReSharper disable UnusedMember.Global
-
-#pragma warning disable 1591 // Missing XML comment for publicly visible type or member
-
-namespace RGB.NET.Devices.CoolerMaster;
-
-///
-/// Contains a list of available effects.
-///
-public enum CoolerMasterEffects
-{
- FullOn = 0,
- Breath = 1,
- BreathCycle = 2,
- Single = 3,
- Wave = 4,
- Ripple = 5,
- Cross = 6,
- Rain = 7,
- Star = 8,
- Snake = 9,
- Rec = 10,
-
- Spectrum = 11,
- RapidFire = 12,
- Indicator = 13, //mouse Effect
- FireBall = 14,
- WaterRipple = 15,
- ReactivePunch = 16,
- Snowing = 17,
- HeartBeat = 18,
- ReactiveTornade = 19,
-
- Multi1 = 0xE0,
- Multi2 = 0xE1,
- Multi3 = 0xE2,
- Multi4 = 0xE3,
- Off = 0xFE
-}
\ No newline at end of file
diff --git a/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterUpdateQueue.cs b/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterUpdateQueue.cs
index 4121c4f..99e1428 100644
--- a/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterUpdateQueue.cs
+++ b/RGB.NET.Devices.CoolerMaster/Generic/CoolerMasterUpdateQueue.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.CoolerMaster;
///
/// Represents the update-queue performing updates for cooler master devices.
///
-public class CoolerMasterUpdateQueue : UpdateQueue
+public sealed class CoolerMasterUpdateQueue : UpdateQueue
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.CoolerMaster/Keyboard/CoolerMasterKeyboardRGBDevice.cs b/RGB.NET.Devices.CoolerMaster/Keyboard/CoolerMasterKeyboardRGBDevice.cs
index 29b1e3c..1d03191 100644
--- a/RGB.NET.Devices.CoolerMaster/Keyboard/CoolerMasterKeyboardRGBDevice.cs
+++ b/RGB.NET.Devices.CoolerMaster/Keyboard/CoolerMasterKeyboardRGBDevice.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.CoolerMaster;
///
/// Represents a CoolerMaster keyboard.
///
-public class CoolerMasterKeyboardRGBDevice : CoolerMasterRGBDevice, IKeyboard
+public sealed class CoolerMasterKeyboardRGBDevice : CoolerMasterRGBDevice, IKeyboard
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.CoolerMaster/Keyboard/CoolerMasterKeyboardRGBDeviceInfo.cs b/RGB.NET.Devices.CoolerMaster/Keyboard/CoolerMasterKeyboardRGBDeviceInfo.cs
index df9fec9..591a62f 100644
--- a/RGB.NET.Devices.CoolerMaster/Keyboard/CoolerMasterKeyboardRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.CoolerMaster/Keyboard/CoolerMasterKeyboardRGBDeviceInfo.cs
@@ -5,7 +5,7 @@ namespace RGB.NET.Devices.CoolerMaster;
///
/// Represents a generic information for a .
///
-public class CoolerMasterKeyboardRGBDeviceInfo : CoolerMasterRGBDeviceInfo, IKeyboardDeviceInfo
+public sealed class CoolerMasterKeyboardRGBDeviceInfo : CoolerMasterRGBDeviceInfo, IKeyboardDeviceInfo
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.CoolerMaster/Mouse/CoolerMasterMouseRGBDevice.cs b/RGB.NET.Devices.CoolerMaster/Mouse/CoolerMasterMouseRGBDevice.cs
index 16ba91c..53e4522 100644
--- a/RGB.NET.Devices.CoolerMaster/Mouse/CoolerMasterMouseRGBDevice.cs
+++ b/RGB.NET.Devices.CoolerMaster/Mouse/CoolerMasterMouseRGBDevice.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.CoolerMaster;
///
/// Represents a CoolerMaster mouse.
///
-public class CoolerMasterMouseRGBDevice : CoolerMasterRGBDevice, IMouse
+public sealed class CoolerMasterMouseRGBDevice : CoolerMasterRGBDevice, IMouse
{
#region Constructors
diff --git a/RGB.NET.Devices.CoolerMaster/Mouse/CoolerMasterMouseRGBDeviceInfo.cs b/RGB.NET.Devices.CoolerMaster/Mouse/CoolerMasterMouseRGBDeviceInfo.cs
index 14f6b0e..2698216 100644
--- a/RGB.NET.Devices.CoolerMaster/Mouse/CoolerMasterMouseRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.CoolerMaster/Mouse/CoolerMasterMouseRGBDeviceInfo.cs
@@ -6,7 +6,7 @@ namespace RGB.NET.Devices.CoolerMaster;
///
/// Represents a generic information for a .
///
-public class CoolerMasterMouseRGBDeviceInfo : CoolerMasterRGBDeviceInfo
+public sealed class CoolerMasterMouseRGBDeviceInfo : CoolerMasterRGBDeviceInfo
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Cooler/CorsairCoolerRGBDevice.cs b/RGB.NET.Devices.Corsair/Cooler/CorsairCoolerRGBDevice.cs
index fd5b89b..e92a731 100644
--- a/RGB.NET.Devices.Corsair/Cooler/CorsairCoolerRGBDevice.cs
+++ b/RGB.NET.Devices.Corsair/Cooler/CorsairCoolerRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a corsair cooler.
///
-public class CorsairCoolerRGBDevice : CorsairRGBDevice, ICooler
+public sealed class CorsairCoolerRGBDevice : CorsairRGBDevice, ICooler
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Cooler/CorsairCoolerRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Cooler/CorsairCoolerRGBDeviceInfo.cs
index 958f129..96333b4 100644
--- a/RGB.NET.Devices.Corsair/Cooler/CorsairCoolerRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Cooler/CorsairCoolerRGBDeviceInfo.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a generic information for a .
///
-public class CorsairCoolerRGBDeviceInfo : CorsairRGBDeviceInfo
+public sealed class CorsairCoolerRGBDeviceInfo : CorsairRGBDeviceInfo
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs b/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs
index ac363b9..87ab725 100644
--- a/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs
+++ b/RGB.NET.Devices.Corsair/CorsairDeviceProvider.cs
@@ -13,7 +13,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a device provider responsible for corsair (CUE) devices.
///
-public class CorsairDeviceProvider : AbstractRGBDeviceProvider
+public sealed class CorsairDeviceProvider : AbstractRGBDeviceProvider
{
#region Properties & Fields
@@ -306,8 +306,6 @@ public class CorsairDeviceProvider : AbstractRGBDeviceProvider
try { _CUESDK.CorsairDisconnect(); } catch { /* at least we tried */ }
try { _CUESDK.UnloadCUESDK(); } catch { /* at least we tried */ }
-
- GC.SuppressFinalize(this);
}
#endregion
diff --git a/RGB.NET.Devices.Corsair/Exceptions/CUEException.cs b/RGB.NET.Devices.Corsair/Exceptions/CUEException.cs
index aca2994..902860f 100644
--- a/RGB.NET.Devices.Corsair/Exceptions/CUEException.cs
+++ b/RGB.NET.Devices.Corsair/Exceptions/CUEException.cs
@@ -9,7 +9,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents an exception thrown by the CUE.
///
-public class CUEException : ApplicationException
+public sealed class CUEException : ApplicationException
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Corsair/Fan/CorsairFanRGBDevice.cs b/RGB.NET.Devices.Corsair/Fan/CorsairFanRGBDevice.cs
index 6520081..eb91492 100644
--- a/RGB.NET.Devices.Corsair/Fan/CorsairFanRGBDevice.cs
+++ b/RGB.NET.Devices.Corsair/Fan/CorsairFanRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a corsair fan.
///
-public class CorsairFanRGBDevice : CorsairRGBDevice, IFan
+public sealed class CorsairFanRGBDevice : CorsairRGBDevice, IFan
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Fan/CorsairFanRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Fan/CorsairFanRGBDeviceInfo.cs
index f4973c5..35124d0 100644
--- a/RGB.NET.Devices.Corsair/Fan/CorsairFanRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Fan/CorsairFanRGBDeviceInfo.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a generic information for a .
///
-public class CorsairFanRGBDeviceInfo : CorsairRGBDeviceInfo
+public sealed class CorsairFanRGBDeviceInfo : CorsairRGBDeviceInfo
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Generic/CorsairDeviceUpdateQueue.cs b/RGB.NET.Devices.Corsair/Generic/CorsairDeviceUpdateQueue.cs
index 8bea2eb..be3a3bf 100644
--- a/RGB.NET.Devices.Corsair/Generic/CorsairDeviceUpdateQueue.cs
+++ b/RGB.NET.Devices.Corsair/Generic/CorsairDeviceUpdateQueue.cs
@@ -9,7 +9,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents the update-queue performing updates for corsair devices.
///
-public class CorsairDeviceUpdateQueue : UpdateQueue
+public sealed class CorsairDeviceUpdateQueue : UpdateQueue
{
#region Properties & Fields
@@ -76,8 +76,6 @@ public class CorsairDeviceUpdateQueue : UpdateQueue
_isDisposed = true;
Marshal.FreeHGlobal(_colorPtr);
-
- GC.SuppressFinalize(this);
}
#endregion
diff --git a/RGB.NET.Devices.Corsair/Generic/CorsairProtocolDetails.cs b/RGB.NET.Devices.Corsair/Generic/CorsairProtocolDetails.cs
index 7069776..afca46b 100644
--- a/RGB.NET.Devices.Corsair/Generic/CorsairProtocolDetails.cs
+++ b/RGB.NET.Devices.Corsair/Generic/CorsairProtocolDetails.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents version information for the Corsair-SDK
///
-public class CorsairSessionDetails
+public sealed class CorsairSessionDetails
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Corsair/GraphicsCard/CorsairGraphicsCardRGBDevice.cs b/RGB.NET.Devices.Corsair/GraphicsCard/CorsairGraphicsCardRGBDevice.cs
index ce7fb8c..51aa88a 100644
--- a/RGB.NET.Devices.Corsair/GraphicsCard/CorsairGraphicsCardRGBDevice.cs
+++ b/RGB.NET.Devices.Corsair/GraphicsCard/CorsairGraphicsCardRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a corsair graphics card.
///
-public class CorsairGraphicsCardRGBDevice : CorsairRGBDevice, IGraphicsCard
+public sealed class CorsairGraphicsCardRGBDevice : CorsairRGBDevice, IGraphicsCard
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/GraphicsCard/CorsairGraphicsCardRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/GraphicsCard/CorsairGraphicsCardRGBDeviceInfo.cs
index ec5b436..7c57ff0 100644
--- a/RGB.NET.Devices.Corsair/GraphicsCard/CorsairGraphicsCardRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/GraphicsCard/CorsairGraphicsCardRGBDeviceInfo.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a generic information for a .
///
-public class CorsairGraphicsCardRGBDeviceInfo : CorsairRGBDeviceInfo
+public sealed class CorsairGraphicsCardRGBDeviceInfo : CorsairRGBDeviceInfo
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Headset/CorsairHeadsetRGBDevice.cs b/RGB.NET.Devices.Corsair/Headset/CorsairHeadsetRGBDevice.cs
index c2336d6..1cbd113 100644
--- a/RGB.NET.Devices.Corsair/Headset/CorsairHeadsetRGBDevice.cs
+++ b/RGB.NET.Devices.Corsair/Headset/CorsairHeadsetRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a corsair headset.
///
-public class CorsairHeadsetRGBDevice : CorsairRGBDevice, IHeadset
+public sealed class CorsairHeadsetRGBDevice : CorsairRGBDevice, IHeadset
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Headset/CorsairHeadsetRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Headset/CorsairHeadsetRGBDeviceInfo.cs
index 5bac705..c7de7f9 100644
--- a/RGB.NET.Devices.Corsair/Headset/CorsairHeadsetRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Headset/CorsairHeadsetRGBDeviceInfo.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a generic information for a .
///
-public class CorsairHeadsetRGBDeviceInfo : CorsairRGBDeviceInfo
+public sealed class CorsairHeadsetRGBDeviceInfo : CorsairRGBDeviceInfo
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/HeadsetStand/CorsairHeadsetStandRGBDevice.cs b/RGB.NET.Devices.Corsair/HeadsetStand/CorsairHeadsetStandRGBDevice.cs
index 7103b76..5d79725 100644
--- a/RGB.NET.Devices.Corsair/HeadsetStand/CorsairHeadsetStandRGBDevice.cs
+++ b/RGB.NET.Devices.Corsair/HeadsetStand/CorsairHeadsetStandRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a corsair headset stand.
///
-public class CorsairHeadsetStandRGBDevice : CorsairRGBDevice, IHeadsetStand
+public sealed class CorsairHeadsetStandRGBDevice : CorsairRGBDevice, IHeadsetStand
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/HeadsetStand/CorsairHeadsetStandRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/HeadsetStand/CorsairHeadsetStandRGBDeviceInfo.cs
index cc6b274..48b2049 100644
--- a/RGB.NET.Devices.Corsair/HeadsetStand/CorsairHeadsetStandRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/HeadsetStand/CorsairHeadsetStandRGBDeviceInfo.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a generic information for a .
///
-public class CorsairHeadsetStandRGBDeviceInfo : CorsairRGBDeviceInfo
+public sealed class CorsairHeadsetStandRGBDeviceInfo : CorsairRGBDeviceInfo
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDevice.cs b/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDevice.cs
index d1fa931..5133619 100644
--- a/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDevice.cs
+++ b/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a corsair keyboard.
///
-public class CorsairKeyboardRGBDevice : CorsairRGBDevice, IKeyboard
+public sealed class CorsairKeyboardRGBDevice : CorsairRGBDevice, IKeyboard
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDeviceInfo.cs
index dcab088..8f5774c 100644
--- a/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Keyboard/CorsairKeyboardRGBDeviceInfo.cs
@@ -9,7 +9,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a generic information for a .
///
-public class CorsairKeyboardRGBDeviceInfo : CorsairRGBDeviceInfo, IKeyboardDeviceInfo
+public sealed class CorsairKeyboardRGBDeviceInfo : CorsairRGBDeviceInfo, IKeyboardDeviceInfo
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Corsair/LedStrip/CorsairLedStripGBDevice.cs b/RGB.NET.Devices.Corsair/LedStrip/CorsairLedStripGBDevice.cs
index 53eb5b0..9f46411 100644
--- a/RGB.NET.Devices.Corsair/LedStrip/CorsairLedStripGBDevice.cs
+++ b/RGB.NET.Devices.Corsair/LedStrip/CorsairLedStripGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a corsair ledStrip.
///
-public class CorsairLedStripRGBDevice : CorsairRGBDevice, ILedStripe
+public sealed class CorsairLedStripRGBDevice : CorsairRGBDevice, ILedStripe
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/LedStrip/CorsairLedStripRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/LedStrip/CorsairLedStripRGBDeviceInfo.cs
index 35006b8..a6497ac 100644
--- a/RGB.NET.Devices.Corsair/LedStrip/CorsairLedStripRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/LedStrip/CorsairLedStripRGBDeviceInfo.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a generic information for a .
///
-public class CorsairLedStripRGBDeviceInfo : CorsairRGBDeviceInfo
+public sealed class CorsairLedStripRGBDeviceInfo : CorsairRGBDeviceInfo
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Mainboard/CorsairMainboardRGBDevice.cs b/RGB.NET.Devices.Corsair/Mainboard/CorsairMainboardRGBDevice.cs
index 55ab92c..98c02e1 100644
--- a/RGB.NET.Devices.Corsair/Mainboard/CorsairMainboardRGBDevice.cs
+++ b/RGB.NET.Devices.Corsair/Mainboard/CorsairMainboardRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a corsair memory.
///
-public class CorsairMainboardRGBDevice : CorsairRGBDevice, IMainboard
+public sealed class CorsairMainboardRGBDevice : CorsairRGBDevice, IMainboard
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Mainboard/CorsairMainboardRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Mainboard/CorsairMainboardRGBDeviceInfo.cs
index 4058d10..761f951 100644
--- a/RGB.NET.Devices.Corsair/Mainboard/CorsairMainboardRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Mainboard/CorsairMainboardRGBDeviceInfo.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a generic information for a .
///
-public class CorsairMainboardRGBDeviceInfo : CorsairRGBDeviceInfo
+public sealed class CorsairMainboardRGBDeviceInfo : CorsairRGBDeviceInfo
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Memory/CorsairMemoryRGBDevice.cs b/RGB.NET.Devices.Corsair/Memory/CorsairMemoryRGBDevice.cs
index 48b2eb3..ec35a34 100644
--- a/RGB.NET.Devices.Corsair/Memory/CorsairMemoryRGBDevice.cs
+++ b/RGB.NET.Devices.Corsair/Memory/CorsairMemoryRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a corsair memory.
///
-public class CorsairMemoryRGBDevice : CorsairRGBDevice, IDRAM
+public sealed class CorsairMemoryRGBDevice : CorsairRGBDevice, IDRAM
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Memory/CorsairMemoryRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Memory/CorsairMemoryRGBDeviceInfo.cs
index 8d779f7..326bd80 100644
--- a/RGB.NET.Devices.Corsair/Memory/CorsairMemoryRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Memory/CorsairMemoryRGBDeviceInfo.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a generic information for a .
///
-public class CorsairMemoryRGBDeviceInfo : CorsairRGBDeviceInfo
+public sealed class CorsairMemoryRGBDeviceInfo : CorsairRGBDeviceInfo
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Mouse/CorsairMouseRGBDevice.cs b/RGB.NET.Devices.Corsair/Mouse/CorsairMouseRGBDevice.cs
index 89f25c4..4f66d31 100644
--- a/RGB.NET.Devices.Corsair/Mouse/CorsairMouseRGBDevice.cs
+++ b/RGB.NET.Devices.Corsair/Mouse/CorsairMouseRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a corsair mouse.
///
-public class CorsairMouseRGBDevice : CorsairRGBDevice, IMouse
+public sealed class CorsairMouseRGBDevice : CorsairRGBDevice, IMouse
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Mouse/CorsairMouseRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Mouse/CorsairMouseRGBDeviceInfo.cs
index 422b18a..b5ab17d 100644
--- a/RGB.NET.Devices.Corsair/Mouse/CorsairMouseRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Mouse/CorsairMouseRGBDeviceInfo.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a generic information for a .
///
-public class CorsairMouseRGBDeviceInfo : CorsairRGBDeviceInfo
+public sealed class CorsairMouseRGBDeviceInfo : CorsairRGBDeviceInfo
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Mousepad/CorsairMousepadRGBDevice.cs b/RGB.NET.Devices.Corsair/Mousepad/CorsairMousepadRGBDevice.cs
index ac7a9b3..7c005ea 100644
--- a/RGB.NET.Devices.Corsair/Mousepad/CorsairMousepadRGBDevice.cs
+++ b/RGB.NET.Devices.Corsair/Mousepad/CorsairMousepadRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a corsair mousepad.
///
-public class CorsairMousepadRGBDevice : CorsairRGBDevice, IMousepad
+public sealed class CorsairMousepadRGBDevice : CorsairRGBDevice, IMousepad
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Mousepad/CorsairMousepadRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Mousepad/CorsairMousepadRGBDeviceInfo.cs
index 6b469c0..901f54f 100644
--- a/RGB.NET.Devices.Corsair/Mousepad/CorsairMousepadRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Mousepad/CorsairMousepadRGBDeviceInfo.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a generic information for a .
///
-public class CorsairMousepadRGBDeviceInfo : CorsairRGBDeviceInfo
+public sealed class CorsairMousepadRGBDeviceInfo : CorsairRGBDeviceInfo
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Native/_CorsairDeviceFilter.cs b/RGB.NET.Devices.Corsair/Native/_CorsairDeviceFilter.cs
index 76f179d..f598d27 100644
--- a/RGB.NET.Devices.Corsair/Native/_CorsairDeviceFilter.cs
+++ b/RGB.NET.Devices.Corsair/Native/_CorsairDeviceFilter.cs
@@ -12,7 +12,7 @@ namespace RGB.NET.Devices.Corsair.Native;
/// iCUE-SDK: contains device search filter
///
[StructLayout(LayoutKind.Sequential)]
-internal class _CorsairDeviceFilter
+internal sealed class _CorsairDeviceFilter
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Corsair/Native/_CorsairDeviceInfo.cs b/RGB.NET.Devices.Corsair/Native/_CorsairDeviceInfo.cs
index f122879..b4c8813 100644
--- a/RGB.NET.Devices.Corsair/Native/_CorsairDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Native/_CorsairDeviceInfo.cs
@@ -12,7 +12,7 @@ namespace RGB.NET.Devices.Corsair.Native;
/// iCUE-SDK: contains information about device
///
[StructLayout(LayoutKind.Sequential)]
-internal class _CorsairDeviceInfo
+internal sealed class _CorsairDeviceInfo
{
///
/// iCUE-SDK: enum describing device type
diff --git a/RGB.NET.Devices.Corsair/Native/_CorsairLedPosition.cs b/RGB.NET.Devices.Corsair/Native/_CorsairLedPosition.cs
index b2ff0fe..af2bad1 100644
--- a/RGB.NET.Devices.Corsair/Native/_CorsairLedPosition.cs
+++ b/RGB.NET.Devices.Corsair/Native/_CorsairLedPosition.cs
@@ -13,7 +13,7 @@ namespace RGB.NET.Devices.Corsair.Native;
/// iCUE-SDK: contains led id and position of led
///
[StructLayout(LayoutKind.Sequential)]
-internal class _CorsairLedPosition
+internal sealed class _CorsairLedPosition
{
///
/// iCUE-SDK: unique identifier of led
diff --git a/RGB.NET.Devices.Corsair/Native/_CorsairSessionDetails.cs b/RGB.NET.Devices.Corsair/Native/_CorsairSessionDetails.cs
index 392a30b..2fbf755 100644
--- a/RGB.NET.Devices.Corsair/Native/_CorsairSessionDetails.cs
+++ b/RGB.NET.Devices.Corsair/Native/_CorsairSessionDetails.cs
@@ -13,7 +13,7 @@ namespace RGB.NET.Devices.Corsair.Native;
/// iCUE-SDK: contains information about SDK and iCUE versions
///
[StructLayout(LayoutKind.Sequential)]
-internal class _CorsairSessionDetails
+internal sealed class _CorsairSessionDetails
{
///
/// iCUE-SDK: version of SDK client (like {4,0,1}). Always contains valid value even if there was no iCUE found. Must comply with the semantic versioning rules.
diff --git a/RGB.NET.Devices.Corsair/Native/_CorsairSessionStateChanged.cs b/RGB.NET.Devices.Corsair/Native/_CorsairSessionStateChanged.cs
index 99aa8fd..07b1a38 100644
--- a/RGB.NET.Devices.Corsair/Native/_CorsairSessionStateChanged.cs
+++ b/RGB.NET.Devices.Corsair/Native/_CorsairSessionStateChanged.cs
@@ -13,7 +13,7 @@ namespace RGB.NET.Devices.Corsair.Native;
/// iCUE-SDK: contains information about session state and client/server versions
///
[StructLayout(LayoutKind.Sequential)]
-internal class _CorsairSessionStateChanged
+internal sealed class _CorsairSessionStateChanged
{
///
/// iCUE-SDK: new session state which SDK client has been transitioned to
diff --git a/RGB.NET.Devices.Corsair/Native/_CorsairVersion.cs b/RGB.NET.Devices.Corsair/Native/_CorsairVersion.cs
index 790226e..d786b0f 100644
--- a/RGB.NET.Devices.Corsair/Native/_CorsairVersion.cs
+++ b/RGB.NET.Devices.Corsair/Native/_CorsairVersion.cs
@@ -13,7 +13,7 @@ namespace RGB.NET.Devices.Corsair.Native;
/// iCUE-SDK: contains information about version that consists of three components
///
[StructLayout(LayoutKind.Sequential)]
-internal class _CorsairVersion
+internal sealed class _CorsairVersion
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Corsair/Touchbar/CorsairTouchbarRGBDevice.cs b/RGB.NET.Devices.Corsair/Touchbar/CorsairTouchbarRGBDevice.cs
index d704343..d5f9248 100644
--- a/RGB.NET.Devices.Corsair/Touchbar/CorsairTouchbarRGBDevice.cs
+++ b/RGB.NET.Devices.Corsair/Touchbar/CorsairTouchbarRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a corsair touchbar.
///
-public class CorsairTouchbarRGBDevice : CorsairRGBDevice, ILedStripe
+public sealed class CorsairTouchbarRGBDevice : CorsairRGBDevice, ILedStripe
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Touchbar/CorsairTouchbarRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Touchbar/CorsairTouchbarRGBDeviceInfo.cs
index 68ea4f0..04f400d 100644
--- a/RGB.NET.Devices.Corsair/Touchbar/CorsairTouchbarRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Touchbar/CorsairTouchbarRGBDeviceInfo.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a generic information for a .
///
-public class CorsairTouchbarRGBDeviceInfo : CorsairRGBDeviceInfo
+public sealed class CorsairTouchbarRGBDeviceInfo : CorsairRGBDeviceInfo
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Unknown/CorsairUnknownRGBDevice.cs b/RGB.NET.Devices.Corsair/Unknown/CorsairUnknownRGBDevice.cs
index d860336..655bafc 100644
--- a/RGB.NET.Devices.Corsair/Unknown/CorsairUnknownRGBDevice.cs
+++ b/RGB.NET.Devices.Corsair/Unknown/CorsairUnknownRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a unknown corsair device.
///
-public class CorsairUnknownRGBDevice : CorsairRGBDevice, IUnknownDevice
+public sealed class CorsairUnknownRGBDevice : CorsairRGBDevice, IUnknownDevice
{
#region Constructors
diff --git a/RGB.NET.Devices.Corsair/Unknown/CorsairUnknownRGBDeviceInfo.cs b/RGB.NET.Devices.Corsair/Unknown/CorsairUnknownRGBDeviceInfo.cs
index e9b6da5..770f65b 100644
--- a/RGB.NET.Devices.Corsair/Unknown/CorsairUnknownRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Corsair/Unknown/CorsairUnknownRGBDeviceInfo.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Corsair;
///
/// Represents a generic information for a .
///
-public class CorsairUnknownRGBDeviceInfo : CorsairRGBDeviceInfo
+public sealed class CorsairUnknownRGBDeviceInfo : CorsairRGBDeviceInfo
{
#region Constructors
diff --git a/RGB.NET.Devices.DMX/DMXDeviceProvider.cs b/RGB.NET.Devices.DMX/DMXDeviceProvider.cs
index 55e8e3f..2d85a44 100644
--- a/RGB.NET.Devices.DMX/DMXDeviceProvider.cs
+++ b/RGB.NET.Devices.DMX/DMXDeviceProvider.cs
@@ -12,7 +12,7 @@ namespace RGB.NET.Devices.DMX;
///
/// Represents a device provider responsible for DMX devices.
///
-public class DMXDeviceProvider : AbstractRGBDeviceProvider
+public sealed class DMXDeviceProvider : AbstractRGBDeviceProvider
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.DMX/E131/E131DMXDeviceDefinition.cs b/RGB.NET.Devices.DMX/E131/E131DMXDeviceDefinition.cs
index 37db5ea..8e0934b 100644
--- a/RGB.NET.Devices.DMX/E131/E131DMXDeviceDefinition.cs
+++ b/RGB.NET.Devices.DMX/E131/E131DMXDeviceDefinition.cs
@@ -12,7 +12,7 @@ namespace RGB.NET.Devices.DMX.E131;
///
/// Represents the data used to create a E1.31 DMX-device.
///
-public class E131DMXDeviceDefinition : IDMXDeviceDefinition
+public sealed class E131DMXDeviceDefinition : IDMXDeviceDefinition
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.DMX/E131/E131Device.cs b/RGB.NET.Devices.DMX/E131/E131Device.cs
index a7d3473..5955ddb 100644
--- a/RGB.NET.Devices.DMX/E131/E131Device.cs
+++ b/RGB.NET.Devices.DMX/E131/E131Device.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.DMX.E131;
///
/// Represents a E1.31-DXM-device.
///
-public class E131Device : AbstractRGBDevice, IUnknownDevice
+public sealed class E131Device : AbstractRGBDevice, IUnknownDevice
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.DMX/E131/E131DeviceInfo.cs b/RGB.NET.Devices.DMX/E131/E131DeviceInfo.cs
index 330a740..db805f7 100644
--- a/RGB.NET.Devices.DMX/E131/E131DeviceInfo.cs
+++ b/RGB.NET.Devices.DMX/E131/E131DeviceInfo.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.DMX.E131;
///
/// Represents device information for a />.
///
-public class E131DeviceInfo : IRGBDeviceInfo
+public sealed class E131DeviceInfo : IRGBDeviceInfo
{
#region Constants
diff --git a/RGB.NET.Devices.DMX/E131/E131UpdateQueue.cs b/RGB.NET.Devices.DMX/E131/E131UpdateQueue.cs
index 57159e9..7ebdab8 100644
--- a/RGB.NET.Devices.DMX/E131/E131UpdateQueue.cs
+++ b/RGB.NET.Devices.DMX/E131/E131UpdateQueue.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.DMX.E131;
///
/// Represents the update-queue performing updates for E131-DMX devices.
///
-public class E131UpdateQueue : UpdateQueue
+public sealed class E131UpdateQueue : UpdateQueue
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.DMX/Generic/LedChannelMapping.cs b/RGB.NET.Devices.DMX/Generic/LedChannelMapping.cs
index 2f999e3..aa1aa29 100644
--- a/RGB.NET.Devices.DMX/Generic/LedChannelMapping.cs
+++ b/RGB.NET.Devices.DMX/Generic/LedChannelMapping.cs
@@ -5,7 +5,7 @@ using RGB.NET.Core;
namespace RGB.NET.Devices.DMX;
-internal class LedChannelMapping : IEnumerable<(int channel, Func getValue)>
+internal sealed class LedChannelMapping : IEnumerable<(int channel, Func getValue)>
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Debug/DebugDeviceProvider.cs b/RGB.NET.Devices.Debug/DebugDeviceProvider.cs
index d396bc0..f88ad50 100644
--- a/RGB.NET.Devices.Debug/DebugDeviceProvider.cs
+++ b/RGB.NET.Devices.Debug/DebugDeviceProvider.cs
@@ -12,7 +12,7 @@ namespace RGB.NET.Devices.Debug;
///
/// Represents a device provider responsible for debug devices.
///
-public class DebugDeviceProvider : AbstractRGBDeviceProvider
+public sealed class DebugDeviceProvider : AbstractRGBDeviceProvider
{
#region Properties & Fields
@@ -71,8 +71,6 @@ public class DebugDeviceProvider : AbstractRGBDeviceProvider
base.Dispose();
_fakeDeviceDefinitions.Clear();
-
- GC.SuppressFinalize(this);
}
#endregion
diff --git a/RGB.NET.Devices.Debug/DebugDeviceUpdateQueue.cs b/RGB.NET.Devices.Debug/DebugDeviceUpdateQueue.cs
index 1e00c42..2789821 100644
--- a/RGB.NET.Devices.Debug/DebugDeviceUpdateQueue.cs
+++ b/RGB.NET.Devices.Debug/DebugDeviceUpdateQueue.cs
@@ -3,7 +3,7 @@ using RGB.NET.Core;
namespace RGB.NET.Devices.Debug;
-internal class DebugDeviceUpdateQueue : UpdateQueue
+internal sealed class DebugDeviceUpdateQueue : UpdateQueue
{
#region Constructors
diff --git a/RGB.NET.Devices.Debug/DebugRGBDevice.cs b/RGB.NET.Devices.Debug/DebugRGBDevice.cs
index 35d1765..61296ab 100644
--- a/RGB.NET.Devices.Debug/DebugRGBDevice.cs
+++ b/RGB.NET.Devices.Debug/DebugRGBDevice.cs
@@ -9,7 +9,7 @@ namespace RGB.NET.Devices.Debug;
///
/// Represents a debug device.
///
-public class DebugRGBDevice : AbstractRGBDevice, IUnknownDevice
+public sealed class DebugRGBDevice : AbstractRGBDevice, IUnknownDevice
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Debug/DebugRGBDeviceInfo.cs b/RGB.NET.Devices.Debug/DebugRGBDeviceInfo.cs
index d724e36..43e3c64 100644
--- a/RGB.NET.Devices.Debug/DebugRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Debug/DebugRGBDeviceInfo.cs
@@ -6,7 +6,7 @@ namespace RGB.NET.Devices.Debug;
///
/// Represents device information for a />.
///
-public class DebugRGBDeviceInfo : IRGBDeviceInfo
+public sealed class DebugRGBDeviceInfo : IRGBDeviceInfo
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Logitech/HID/LightspeedHidLoader.cs b/RGB.NET.Devices.Logitech/HID/LightspeedHidLoader.cs
index 69cdce1..355e457 100644
--- a/RGB.NET.Devices.Logitech/HID/LightspeedHidLoader.cs
+++ b/RGB.NET.Devices.Logitech/HID/LightspeedHidLoader.cs
@@ -14,7 +14,7 @@ namespace RGB.NET.Devices.Logitech.HID;
///
/// The type of the identifier leds are mapped to.
/// The type of the custom data added to the HID-device.
-public class LightspeedHIDLoader : IEnumerable>
+public sealed class LightspeedHIDLoader : IEnumerable>
where TLed : notnull
{
#region Constants
diff --git a/RGB.NET.Devices.Logitech/PerDevice/LogitechPerDeviceRGBDevice.cs b/RGB.NET.Devices.Logitech/PerDevice/LogitechPerDeviceRGBDevice.cs
index 7727006..6a31dad 100644
--- a/RGB.NET.Devices.Logitech/PerDevice/LogitechPerDeviceRGBDevice.cs
+++ b/RGB.NET.Devices.Logitech/PerDevice/LogitechPerDeviceRGBDevice.cs
@@ -6,7 +6,7 @@ namespace RGB.NET.Devices.Logitech;
///
/// Represents a logitech per-device-lightable device.
///
-public class LogitechPerDeviceRGBDevice : LogitechRGBDevice, IUnknownDevice //TODO DarthAffe 18.04.2020: It's know which kind of device this is, but they would need to be separated
+public sealed class LogitechPerDeviceRGBDevice : LogitechRGBDevice, IUnknownDevice //TODO DarthAffe 18.04.2020: It's know which kind of device this is, but they would need to be separated
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Logitech/PerDevice/LogitechPerDeviceUpdateQueue.cs b/RGB.NET.Devices.Logitech/PerDevice/LogitechPerDeviceUpdateQueue.cs
index c32f87d..b780a28 100644
--- a/RGB.NET.Devices.Logitech/PerDevice/LogitechPerDeviceUpdateQueue.cs
+++ b/RGB.NET.Devices.Logitech/PerDevice/LogitechPerDeviceUpdateQueue.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.Logitech;
///
/// Represents the update-queue performing updates for logitech per-device devices.
///
-public class LogitechPerDeviceUpdateQueue : UpdateQueue
+public sealed class LogitechPerDeviceUpdateQueue : UpdateQueue
{
#region Constructors
diff --git a/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyRGBDevice.cs b/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyRGBDevice.cs
index 715079e..edd3d95 100644
--- a/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyRGBDevice.cs
+++ b/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyRGBDevice.cs
@@ -6,7 +6,7 @@ namespace RGB.NET.Devices.Logitech;
///
/// Represents a logitech per-key-lightable device.
///
-public class LogitechPerKeyRGBDevice : LogitechRGBDevice, IUnknownDevice //TODO DarthAffe 18.04.2020: It's know which kind of device this is, but they would need to be separated
+public sealed class LogitechPerKeyRGBDevice : LogitechRGBDevice, IUnknownDevice //TODO DarthAffe 18.04.2020: It's know which kind of device this is, but they would need to be separated
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyUpdateQueue.cs b/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyUpdateQueue.cs
index b0bdaf4..7f1917f 100644
--- a/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyUpdateQueue.cs
+++ b/RGB.NET.Devices.Logitech/PerKey/LogitechPerKeyUpdateQueue.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Logitech;
///
/// Represents the update-queue performing updates for logitech per-key devices.
///
-public class LogitechPerKeyUpdateQueue : UpdateQueue
+public sealed class LogitechPerKeyUpdateQueue : UpdateQueue
{
#region Constructors
@@ -17,8 +17,7 @@ public class LogitechPerKeyUpdateQueue : UpdateQueue
/// The update trigger used by this queue.
public LogitechPerKeyUpdateQueue(IDeviceUpdateTrigger updateTrigger)
: base(updateTrigger)
- {
- }
+ { }
#endregion
diff --git a/RGB.NET.Devices.Logitech/Zone/LogitechZoneRGBDevice.cs b/RGB.NET.Devices.Logitech/Zone/LogitechZoneRGBDevice.cs
index 4909dcc..d1050fd 100644
--- a/RGB.NET.Devices.Logitech/Zone/LogitechZoneRGBDevice.cs
+++ b/RGB.NET.Devices.Logitech/Zone/LogitechZoneRGBDevice.cs
@@ -6,7 +6,7 @@ namespace RGB.NET.Devices.Logitech;
///
/// Represents a logitech zone-lightable device.
///
-public class LogitechZoneRGBDevice : LogitechRGBDevice, IUnknownDevice //TODO DarthAffe 18.04.2020: It's know which kind of device this is, but they would need to be separated
+public sealed class LogitechZoneRGBDevice : LogitechRGBDevice, IUnknownDevice //TODO DarthAffe 18.04.2020: It's know which kind of device this is, but they would need to be separated
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Logitech/Zone/LogitechZoneUpdateQueue.cs b/RGB.NET.Devices.Logitech/Zone/LogitechZoneUpdateQueue.cs
index eba7a2d..c9a83a5 100644
--- a/RGB.NET.Devices.Logitech/Zone/LogitechZoneUpdateQueue.cs
+++ b/RGB.NET.Devices.Logitech/Zone/LogitechZoneUpdateQueue.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Logitech;
///
/// Represents the update-queue performing updates for logitech zone devices.
///
-public class LogitechZoneUpdateQueue : UpdateQueue
+public sealed class LogitechZoneUpdateQueue : UpdateQueue
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Msi/Exceptions/MysticLightException.cs b/RGB.NET.Devices.Msi/Exceptions/MysticLightException.cs
index cf688e1..57044fb 100644
--- a/RGB.NET.Devices.Msi/Exceptions/MysticLightException.cs
+++ b/RGB.NET.Devices.Msi/Exceptions/MysticLightException.cs
@@ -9,7 +9,7 @@ namespace RGB.NET.Devices.Msi.Exceptions;
///
/// Represents an exception thrown by the MysticLight-SDK.
///
-public class MysticLightException : ApplicationException
+public sealed class MysticLightException : ApplicationException
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Msi/Generic/MsiDeviceUpdateQueue.cs b/RGB.NET.Devices.Msi/Generic/MsiDeviceUpdateQueue.cs
index 8db204f..0367029 100644
--- a/RGB.NET.Devices.Msi/Generic/MsiDeviceUpdateQueue.cs
+++ b/RGB.NET.Devices.Msi/Generic/MsiDeviceUpdateQueue.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.Msi;
///
/// Represents the update-queue performing updates for MSI devices.
///
-public class MsiDeviceUpdateQueue : UpdateQueue
+public sealed class MsiDeviceUpdateQueue : UpdateQueue
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Msi/GraphicsCard/MsiGraphicsCardRGBDevice.cs b/RGB.NET.Devices.Msi/GraphicsCard/MsiGraphicsCardRGBDevice.cs
index a4d72f1..efb72f6 100644
--- a/RGB.NET.Devices.Msi/GraphicsCard/MsiGraphicsCardRGBDevice.cs
+++ b/RGB.NET.Devices.Msi/GraphicsCard/MsiGraphicsCardRGBDevice.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Msi;
///
/// Represents MSI VGA adapters.
///
-public class MsiGraphicsCardRGBDevice : MsiRGBDevice, IGraphicsCard
+public sealed class MsiGraphicsCardRGBDevice : MsiRGBDevice, IGraphicsCard
{
#region Constructors
diff --git a/RGB.NET.Devices.Msi/Mainboard/MsiMainboardRGBDevice.cs b/RGB.NET.Devices.Msi/Mainboard/MsiMainboardRGBDevice.cs
index 113d364..2367678 100644
--- a/RGB.NET.Devices.Msi/Mainboard/MsiMainboardRGBDevice.cs
+++ b/RGB.NET.Devices.Msi/Mainboard/MsiMainboardRGBDevice.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Msi;
///
/// Represents a MSI mainboard.
///
-public class MsiMainboardRGBDevice : MsiRGBDevice, IMainboard
+public sealed class MsiMainboardRGBDevice : MsiRGBDevice, IMainboard
{
#region Constructors
diff --git a/RGB.NET.Devices.Msi/Mouse/MsiMouseRGBDevice.cs b/RGB.NET.Devices.Msi/Mouse/MsiMouseRGBDevice.cs
index fc9adc8..5ebc73c 100644
--- a/RGB.NET.Devices.Msi/Mouse/MsiMouseRGBDevice.cs
+++ b/RGB.NET.Devices.Msi/Mouse/MsiMouseRGBDevice.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Msi;
///
/// Represents a MSI mouse.
///
-public class MsiMouseRGBDevice : MsiRGBDevice
+public sealed class MsiMouseRGBDevice : MsiRGBDevice
{
#region Constructors
diff --git a/RGB.NET.Devices.Novation/Attributes/ColorCapabilityAttribute.cs b/RGB.NET.Devices.Novation/Attributes/ColorCapabilityAttribute.cs
index d2c0a00..9d2131b 100644
--- a/RGB.NET.Devices.Novation/Attributes/ColorCapabilityAttribute.cs
+++ b/RGB.NET.Devices.Novation/Attributes/ColorCapabilityAttribute.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Novation.Attributes;
/// Specifies the color-capability of a field.
///
[AttributeUsage(AttributeTargets.Field)]
-public class ColorCapabilityAttribute : Attribute
+public sealed class ColorCapabilityAttribute : Attribute
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Novation/Attributes/DeviceIdAttribute.cs b/RGB.NET.Devices.Novation/Attributes/DeviceIdAttribute.cs
index 34c8b2e..ee25485 100644
--- a/RGB.NET.Devices.Novation/Attributes/DeviceIdAttribute.cs
+++ b/RGB.NET.Devices.Novation/Attributes/DeviceIdAttribute.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Novation.Attributes;
/// Specifies the device-id of a field.
///
[AttributeUsage(AttributeTargets.Field)]
-public class DeviceIdAttribute : Attribute
+public sealed class DeviceIdAttribute : Attribute
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Novation/Attributes/LedIdMappingAttribute.cs b/RGB.NET.Devices.Novation/Attributes/LedIdMappingAttribute.cs
index 1e5ac21..14e22e1 100644
--- a/RGB.NET.Devices.Novation/Attributes/LedIdMappingAttribute.cs
+++ b/RGB.NET.Devices.Novation/Attributes/LedIdMappingAttribute.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Novation.Attributes;
/// Specifies the led id mapping of a field.
///
[AttributeUsage(AttributeTargets.Field)]
-internal class LedIdMappingAttribute : Attribute
+internal sealed class LedIdMappingAttribute : Attribute
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Novation/Generic/LimitedColorUpdateQueue.cs b/RGB.NET.Devices.Novation/Generic/LimitedColorUpdateQueue.cs
index 9bb0bbe..987b691 100644
--- a/RGB.NET.Devices.Novation/Generic/LimitedColorUpdateQueue.cs
+++ b/RGB.NET.Devices.Novation/Generic/LimitedColorUpdateQueue.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Novation;
///
/// Represents the update-queue performing updates for a limited-color novation device.
///
-public class LimitedColorUpdateQueue : MidiUpdateQueue
+public sealed class LimitedColorUpdateQueue : MidiUpdateQueue
{
#region Constructors
@@ -37,7 +37,7 @@ public class LimitedColorUpdateQueue : MidiUpdateQueue
///
/// The to convert.
/// The novation-representation of the .
- protected virtual int ConvertColor(in Color color)
+ private static int ConvertColor(in Color color)
{
(double hue, double _, double value) = color.GetHSV();
diff --git a/RGB.NET.Devices.Novation/Generic/RGBColorUpdateQueue.cs b/RGB.NET.Devices.Novation/Generic/RGBColorUpdateQueue.cs
index 5a3367a..6279593 100644
--- a/RGB.NET.Devices.Novation/Generic/RGBColorUpdateQueue.cs
+++ b/RGB.NET.Devices.Novation/Generic/RGBColorUpdateQueue.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.Novation;
///
/// Represents the update-queue performing updates for a RGB-color novation device.
///
-public class RGBColorUpdateQueue : MidiUpdateQueue
+public sealed class RGBColorUpdateQueue : MidiUpdateQueue
{
#region Properties & Fields
@@ -165,7 +165,7 @@ public class RGBColorUpdateQueue : MidiUpdateQueue
///
/// The to convert.
/// The novation-representation of the .
- protected virtual int ConvertColor(in Color color)
+ private static int ConvertColor(in Color color)
{
int bestVelocity = 0;
double bestMatchDistance = double.MaxValue;
diff --git a/RGB.NET.Devices.Novation/Launchpad/NovationLaunchpadRGBDevice.cs b/RGB.NET.Devices.Novation/Launchpad/NovationLaunchpadRGBDevice.cs
index 81e5dce..0a5b6e1 100644
--- a/RGB.NET.Devices.Novation/Launchpad/NovationLaunchpadRGBDevice.cs
+++ b/RGB.NET.Devices.Novation/Launchpad/NovationLaunchpadRGBDevice.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.Novation;
///
/// Represents a Novation launchpad.
///
-public class NovationLaunchpadRGBDevice : NovationRGBDevice, ILedMatrix
+public sealed class NovationLaunchpadRGBDevice : NovationRGBDevice, ILedMatrix
{
#region Constructors
@@ -50,7 +50,7 @@ public class NovationLaunchpadRGBDevice : NovationRGBDevice
/// The mapping of the device.
/// Thrown if the value of is not known.
- protected virtual Dictionary GetDeviceMapping()
+ private Dictionary GetDeviceMapping()
=> DeviceInfo.LedMapping switch
{
LedIdMappings.Current => LaunchpadIdMapping.CURRENT,
diff --git a/RGB.NET.Devices.Novation/Launchpad/NovationLaunchpadRGBDeviceInfo.cs b/RGB.NET.Devices.Novation/Launchpad/NovationLaunchpadRGBDeviceInfo.cs
index 06296b9..2805da9 100644
--- a/RGB.NET.Devices.Novation/Launchpad/NovationLaunchpadRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Novation/Launchpad/NovationLaunchpadRGBDeviceInfo.cs
@@ -6,7 +6,7 @@ namespace RGB.NET.Devices.Novation;
///
/// Represents a generic information for a .
///
-public class NovationLaunchpadRGBDeviceInfo : NovationRGBDeviceInfo
+public sealed class NovationLaunchpadRGBDeviceInfo : NovationRGBDeviceInfo
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Novation/NovationDeviceProvider.cs b/RGB.NET.Devices.Novation/NovationDeviceProvider.cs
index 9d2d8d2..837a82c 100644
--- a/RGB.NET.Devices.Novation/NovationDeviceProvider.cs
+++ b/RGB.NET.Devices.Novation/NovationDeviceProvider.cs
@@ -13,7 +13,7 @@ namespace RGB.NET.Devices.Novation;
///
/// Represents a device provider responsible for Novation devices.
///
-public class NovationDeviceProvider : AbstractRGBDeviceProvider
+public sealed class NovationDeviceProvider : AbstractRGBDeviceProvider
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.OpenRGB/Generic/OpenRGBGenericDevice.cs b/RGB.NET.Devices.OpenRGB/Generic/OpenRGBGenericDevice.cs
index 618c310..7f51c81 100644
--- a/RGB.NET.Devices.OpenRGB/Generic/OpenRGBGenericDevice.cs
+++ b/RGB.NET.Devices.OpenRGB/Generic/OpenRGBGenericDevice.cs
@@ -4,7 +4,7 @@ using RGB.NET.Core;
namespace RGB.NET.Devices.OpenRGB;
///
-public class OpenRGBGenericDevice : AbstractOpenRGBDevice
+public sealed class OpenRGBGenericDevice : AbstractOpenRGBDevice
{
#region Constructors
///
diff --git a/RGB.NET.Devices.OpenRGB/Generic/OpenRGBUpdateQueue.cs b/RGB.NET.Devices.OpenRGB/Generic/OpenRGBUpdateQueue.cs
index ff4daa5..0537d11 100644
--- a/RGB.NET.Devices.OpenRGB/Generic/OpenRGBUpdateQueue.cs
+++ b/RGB.NET.Devices.OpenRGB/Generic/OpenRGBUpdateQueue.cs
@@ -12,7 +12,7 @@ namespace RGB.NET.Devices.OpenRGB;
///
/// Represents the update-queue performing updates for OpenRGB devices.
///
-public class OpenRGBUpdateQueue : UpdateQueue
+public sealed class OpenRGBUpdateQueue : UpdateQueue
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.OpenRGB/OpenRGBDeviceProvider.cs b/RGB.NET.Devices.OpenRGB/OpenRGBDeviceProvider.cs
index c9d3cbc..6c83a68 100644
--- a/RGB.NET.Devices.OpenRGB/OpenRGBDeviceProvider.cs
+++ b/RGB.NET.Devices.OpenRGB/OpenRGBDeviceProvider.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.OpenRGB;
///
/// Represents a device provider responsible for OpenRGB devices.
///
-public class OpenRGBDeviceProvider : AbstractRGBDeviceProvider
+public sealed class OpenRGBDeviceProvider : AbstractRGBDeviceProvider
{
#region Properties & Fields
@@ -162,8 +162,6 @@ public class OpenRGBDeviceProvider : AbstractRGBDeviceProvider
_clients.Clear();
DeviceDefinitions.Clear();
Devices = Enumerable.Empty();
-
- GC.SuppressFinalize(this);
}
#endregion
}
diff --git a/RGB.NET.Devices.OpenRGB/OpenRGBServerDefinition.cs b/RGB.NET.Devices.OpenRGB/OpenRGBServerDefinition.cs
index 9de9246..7943775 100644
--- a/RGB.NET.Devices.OpenRGB/OpenRGBServerDefinition.cs
+++ b/RGB.NET.Devices.OpenRGB/OpenRGBServerDefinition.cs
@@ -3,7 +3,7 @@
///
/// Represents a definition of an OpenRGB server.
///
-public class OpenRGBServerDefinition
+public sealed class OpenRGBServerDefinition
{
///
/// The name of the client that will appear in the OpenRGB interface.
diff --git a/RGB.NET.Devices.OpenRGB/PerZone/OpenRGBZoneDevice.cs b/RGB.NET.Devices.OpenRGB/PerZone/OpenRGBZoneDevice.cs
index 6def092..1e3c4ff 100644
--- a/RGB.NET.Devices.OpenRGB/PerZone/OpenRGBZoneDevice.cs
+++ b/RGB.NET.Devices.OpenRGB/PerZone/OpenRGBZoneDevice.cs
@@ -4,7 +4,7 @@ using RGB.NET.Core;
namespace RGB.NET.Devices.OpenRGB;
///
-public class OpenRGBZoneDevice : AbstractOpenRGBDevice
+public sealed class OpenRGBZoneDevice : AbstractOpenRGBDevice
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.OpenRGB/Segment/OpenRGBSegmentDevice.cs b/RGB.NET.Devices.OpenRGB/Segment/OpenRGBSegmentDevice.cs
index 9d8c633..bc8e85e 100644
--- a/RGB.NET.Devices.OpenRGB/Segment/OpenRGBSegmentDevice.cs
+++ b/RGB.NET.Devices.OpenRGB/Segment/OpenRGBSegmentDevice.cs
@@ -4,7 +4,7 @@ using RGB.NET.Core;
namespace RGB.NET.Devices.OpenRGB;
///
-public class OpenRGBSegmentDevice : AbstractOpenRGBDevice
+public sealed class OpenRGBSegmentDevice : AbstractOpenRGBDevice
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.PicoPi/PicoPi/PicoPiBulkUpdateQueue.cs b/RGB.NET.Devices.PicoPi/PicoPi/PicoPiBulkUpdateQueue.cs
index 8cd251d..edd290b 100644
--- a/RGB.NET.Devices.PicoPi/PicoPi/PicoPiBulkUpdateQueue.cs
+++ b/RGB.NET.Devices.PicoPi/PicoPi/PicoPiBulkUpdateQueue.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.PicoPi;
///
/// Using this requires the libusb driver to be installed!
///
-public class PicoPiBulkUpdateQueue : UpdateQueue
+public sealed class PicoPiBulkUpdateQueue : UpdateQueue
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.PicoPi/PicoPi/PicoPiHIDUpdateQueue.cs b/RGB.NET.Devices.PicoPi/PicoPi/PicoPiHIDUpdateQueue.cs
index b3ff956..652ba80 100644
--- a/RGB.NET.Devices.PicoPi/PicoPi/PicoPiHIDUpdateQueue.cs
+++ b/RGB.NET.Devices.PicoPi/PicoPi/PicoPiHIDUpdateQueue.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.PicoPi;
///
/// Represents the update-queue performing updates for Pico-Pi HID-devices.
///
-public class PicoPiHIDUpdateQueue : UpdateQueue
+public sealed class PicoPiHIDUpdateQueue : UpdateQueue
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.PicoPi/PicoPi/PicoPiRGBDevice.cs b/RGB.NET.Devices.PicoPi/PicoPi/PicoPiRGBDevice.cs
index 486842d..b50be7b 100644
--- a/RGB.NET.Devices.PicoPi/PicoPi/PicoPiRGBDevice.cs
+++ b/RGB.NET.Devices.PicoPi/PicoPi/PicoPiRGBDevice.cs
@@ -6,7 +6,7 @@ namespace RGB.NET.Devices.PicoPi;
///
/// Represents a device based on an Raspberry Pi Pico.
///
-public class PicoPiRGBDevice : AbstractRGBDevice
+public sealed class PicoPiRGBDevice : AbstractRGBDevice
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.PicoPi/PicoPi/PicoPiRGBDeviceInfo.cs b/RGB.NET.Devices.PicoPi/PicoPi/PicoPiRGBDeviceInfo.cs
index ffe8e71..52e3d79 100644
--- a/RGB.NET.Devices.PicoPi/PicoPi/PicoPiRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.PicoPi/PicoPi/PicoPiRGBDeviceInfo.cs
@@ -5,7 +5,7 @@ namespace RGB.NET.Devices.PicoPi;
///
/// Represents a generic information for a .
///
-public class PicoPiRGBDeviceInfo : IRGBDeviceInfo
+public sealed class PicoPiRGBDeviceInfo : IRGBDeviceInfo
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.PicoPi/PicoPi/PicoPiSDK.cs b/RGB.NET.Devices.PicoPi/PicoPi/PicoPiSDK.cs
index a47916c..2dcd6de 100644
--- a/RGB.NET.Devices.PicoPi/PicoPi/PicoPiSDK.cs
+++ b/RGB.NET.Devices.PicoPi/PicoPi/PicoPiSDK.cs
@@ -13,7 +13,7 @@ namespace RGB.NET.Devices.PicoPi;
///
/// Represents a SDK to access devices based on a Raspberry Pi Pico.
///
-public class PicoPiSDK : IDisposable
+public sealed class PicoPiSDK : IDisposable
{
#region Constants
@@ -303,8 +303,6 @@ public class PicoPiSDK : IDisposable
_hidStream.Dispose();
_bulkDevice?.Dispose();
_usbContext?.Dispose();
-
- GC.SuppressFinalize(this);
}
#endregion
diff --git a/RGB.NET.Devices.PicoPi/PicoPiDeviceProvider.cs b/RGB.NET.Devices.PicoPi/PicoPiDeviceProvider.cs
index bce7e9c..f18116f 100644
--- a/RGB.NET.Devices.PicoPi/PicoPiDeviceProvider.cs
+++ b/RGB.NET.Devices.PicoPi/PicoPiDeviceProvider.cs
@@ -15,7 +15,7 @@ namespace RGB.NET.Devices.PicoPi;
/// Represents a device provider responsible for PicoPi-devices.
///
// ReSharper disable once InconsistentNaming
-public class PicoPiDeviceProvider : AbstractRGBDeviceProvider
+public sealed class PicoPiDeviceProvider : AbstractRGBDeviceProvider
{
#region Constants
diff --git a/RGB.NET.Devices.Razer/ChromaLink/RazerChromaLinkRGBDevice.cs b/RGB.NET.Devices.Razer/ChromaLink/RazerChromaLinkRGBDevice.cs
index 1dd5c70..adc08f7 100644
--- a/RGB.NET.Devices.Razer/ChromaLink/RazerChromaLinkRGBDevice.cs
+++ b/RGB.NET.Devices.Razer/ChromaLink/RazerChromaLinkRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents a razer chroma link.
///
-public class RazerChromaLinkRGBDevice : RazerRGBDevice, IUnknownDevice
+public sealed class RazerChromaLinkRGBDevice : RazerRGBDevice, IUnknownDevice
{
#region Constructors
diff --git a/RGB.NET.Devices.Razer/ChromaLink/RazerChromaLinkUpdateQueue.cs b/RGB.NET.Devices.Razer/ChromaLink/RazerChromaLinkUpdateQueue.cs
index 42755b9..3d63bf0 100644
--- a/RGB.NET.Devices.Razer/ChromaLink/RazerChromaLinkUpdateQueue.cs
+++ b/RGB.NET.Devices.Razer/ChromaLink/RazerChromaLinkUpdateQueue.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents the update-queue performing updates for razer chroma-link devices.
///
-public class RazerChromaLinkUpdateQueue : RazerUpdateQueue
+public sealed class RazerChromaLinkUpdateQueue : RazerUpdateQueue
{
#region Constructors
diff --git a/RGB.NET.Devices.Razer/Exceptions/RazerException.cs b/RGB.NET.Devices.Razer/Exceptions/RazerException.cs
index 3350c81..ae9ad23 100644
--- a/RGB.NET.Devices.Razer/Exceptions/RazerException.cs
+++ b/RGB.NET.Devices.Razer/Exceptions/RazerException.cs
@@ -9,7 +9,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents an exception thrown by the Razer-SDK.
///
-public class RazerException : ApplicationException
+public sealed class RazerException : ApplicationException
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Razer/Generic/Devices.cs b/RGB.NET.Devices.Razer/Generic/Devices.cs
deleted file mode 100644
index fb47055..0000000
--- a/RGB.NET.Devices.Razer/Generic/Devices.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace RGB.NET.Devices.Razer;
-
-internal class Devices
-{
- public static readonly List<(Guid guid, string model)> KEYBOARDS = new()
- {
- (new Guid("2EA1BB63-CA28-428D-9F06-196B88330BBB"), "Blackwidow Chroma"),
- (new Guid("ED1C1B82-BFBE-418F-B49D-D03F05B149DF"), "Razer Blackwidow Chroma Tournament Edition"),
- (new Guid("18C5AD9B-4326-4828-92C4-2669A66D2283"), "Razer Deathstalker "),
- (new Guid("872AB2A9-7959-4478-9FED-15F6186E72E4"), "Overwatch Keyboard"),
- (new Guid("5AF60076-ADE9-43D4-B574-52599293B554"), "Razer Blackwidow X Chroma"),
- (new Guid("2D84DD51-3290-4AAC-9A89-D8AFDE38B57C"), "Razer Blackwidow X TE Chroma"),
- (new Guid("803378C1-CC48-4970-8539-D828CC1D420A"), "Razer Omata Chroma"),
- (new Guid("C83BDFE8-E7FC-40E0-99DB-872E23F19891"), "Razer Blade Stealth"),
- (new Guid("F2BEDFAF-A0FE-4651-9D41-B6CE603A3DDD"), "Razer Blade"),
- (new Guid("A73AC338-F0E5-4BF7-91AE-DD1F7E1737A5"), "Razer Blade Pro"),
- (new Guid("608E743F-B402-44BD-A7A6-7AA9F574ECF4"), "Razer Blackwidow Chroma v2"),
- (new Guid("F85E7473-8F03-45B6-A16E-CE26CB8D2441"), "Razer Huntsman"),
- (new Guid("16BB5ABD-C1CD-4CB3-BDF7-62438748BD98"), "Razer Blackwidow Elite")
- };
-
- public static readonly List<(Guid guid, string model)> MICE = new()
- {
- (new Guid("7EC00450-E0EE-4289-89D5-0D879C19061A"), "Razer Mamba Chroma Tournament Edition"),
- (new Guid("AEC50D91-B1F1-452F-8E16-7B73F376FDF3"), "Razer Deathadder Chroma "),
- (new Guid("FF8A5929-4512-4257-8D59-C647BF9935D0"), "Razer Diamondback"),
- (new Guid("D527CBDC-EB0A-483A-9E89-66D50463EC6C"), "Razer Mamba"),
- (new Guid("D714C50B-7158-4368-B99C-601ACB985E98"), "Razer Naga Epic"),
- (new Guid("F1876328-6CA4-46AE-BE04-BE812B414433"), "Razer Naga"),
- (new Guid("52C15681-4ECE-4DD9-8A52-A1418459EB34"), "Razer Orochi Chroma"),
- (new Guid("195D70F5-F285-4CFF-99F2-B8C0E9658DB4"), "Razer Naga Hex Chroma"),
- (new Guid("77834867-3237-4A9F-AD77-4A46C4183003"), "Razer DeathAdder Elite Chroma")
- };
-
- public static readonly List<(Guid guid, string model)> HEADSETS = new()
- {
- (new Guid("DF3164D7-5408-4A0E-8A7F-A7412F26BEBF"), "Razer ManO'War"),
- (new Guid("CD1E09A5-D5E6-4A6C-A93B-E6D9BF1D2092"), "Razer Kraken 7.1 Chroma"),
- (new Guid("7FB8A36E-9E74-4BB3-8C86-CAC7F7891EBD"), "Razer Kraken 7.1 Chroma Refresh"),
- (new Guid("FB357780-4617-43A7-960F-D1190ED54806"), "Razer Kraken Kitty")
- };
-
- public static readonly List<(Guid guid, string model)> MOUSEMATS = new()
- {
- (new Guid("80F95A94-73D2-48CA-AE9A-0986789A9AF2"), "Razer Firefly")
- };
-
- public static readonly List<(Guid guid, string model)> KEYPADS = new()
- {
- (new Guid("9D24B0AB-0162-466C-9640-7A924AA4D9FD"), "Razer Orbweaver"),
- (new Guid("00F0545C-E180-4AD1-8E8A-419061CE505E"), "Razer Tartarus")
- };
-
- public static readonly List<(Guid guid, string model)> CHROMALINKS = new()
- {
- (new Guid("0201203B-62F3-4C50-83DD-598BABD208E0"), "Core Chroma"),
- (new Guid("35F6F18D-1AE5-436C-A575-AB44A127903A"), "Lenovo Y900"),
- (new Guid("47DB1FA7-6B9B-4EE6-B6F4-4071A3B2053B"), "Lenovo Y27"),
- (new Guid("BB2E9C9B-B0D2-461A-BA52-230B5D6C3609"), "Chroma Box")
- };
-
- public static readonly List<(Guid guid, string model)> SPEAKERS = new()
- {
- (new Guid("45B308F2-CD44-4594-8375-4D5945AD880E"), "Nommo Chroma"),
- (new Guid("3017280B-D7F9-4D7B-930E-7B47181B46B5"), "Nommo Chroma Pro")
- };
-}
\ No newline at end of file
diff --git a/RGB.NET.Devices.Razer/Headset/RazerHeadsetRGBDevice.cs b/RGB.NET.Devices.Razer/Headset/RazerHeadsetRGBDevice.cs
index cec7f08..2b61b35 100644
--- a/RGB.NET.Devices.Razer/Headset/RazerHeadsetRGBDevice.cs
+++ b/RGB.NET.Devices.Razer/Headset/RazerHeadsetRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents a razer headset.
///
-public class RazerHeadsetRGBDevice : RazerRGBDevice, IHeadset
+public sealed class RazerHeadsetRGBDevice : RazerRGBDevice, IHeadset
{
#region Constructors
diff --git a/RGB.NET.Devices.Razer/Headset/RazerHeadsetUpdateQueue.cs b/RGB.NET.Devices.Razer/Headset/RazerHeadsetUpdateQueue.cs
index 9cb3eaf..24cc57b 100644
--- a/RGB.NET.Devices.Razer/Headset/RazerHeadsetUpdateQueue.cs
+++ b/RGB.NET.Devices.Razer/Headset/RazerHeadsetUpdateQueue.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents the update-queue performing updates for razer headset devices.
///
-public class RazerHeadsetUpdateQueue : RazerUpdateQueue
+public sealed class RazerHeadsetUpdateQueue : RazerUpdateQueue
{
#region Constructors
diff --git a/RGB.NET.Devices.Razer/Keyboard/RazerKeyboardRGBDevice.cs b/RGB.NET.Devices.Razer/Keyboard/RazerKeyboardRGBDevice.cs
index 3a4c5f2..1a5cbfb 100644
--- a/RGB.NET.Devices.Razer/Keyboard/RazerKeyboardRGBDevice.cs
+++ b/RGB.NET.Devices.Razer/Keyboard/RazerKeyboardRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents a razer keyboard.
///
-public class RazerKeyboardRGBDevice : RazerRGBDevice, IKeyboard
+public sealed class RazerKeyboardRGBDevice : RazerRGBDevice, IKeyboard
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Razer/Keyboard/RazerKeyboardRGBDeviceInfo.cs b/RGB.NET.Devices.Razer/Keyboard/RazerKeyboardRGBDeviceInfo.cs
index 983d030..2a369f3 100644
--- a/RGB.NET.Devices.Razer/Keyboard/RazerKeyboardRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.Razer/Keyboard/RazerKeyboardRGBDeviceInfo.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents a generic information for a .
///
-public class RazerKeyboardRGBDeviceInfo : RazerRGBDeviceInfo, IKeyboardDeviceInfo
+public sealed class RazerKeyboardRGBDeviceInfo : RazerRGBDeviceInfo, IKeyboardDeviceInfo
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Razer/Keyboard/RazerKeyboardUpdateQueue.cs b/RGB.NET.Devices.Razer/Keyboard/RazerKeyboardUpdateQueue.cs
index 09b8c2d..b351d5f 100644
--- a/RGB.NET.Devices.Razer/Keyboard/RazerKeyboardUpdateQueue.cs
+++ b/RGB.NET.Devices.Razer/Keyboard/RazerKeyboardUpdateQueue.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents the update-queue performing updates for razer keyboard devices.
///
-public class RazerKeyboardUpdateQueue : RazerUpdateQueue
+public sealed class RazerKeyboardUpdateQueue : RazerUpdateQueue
{
#region Constructors
diff --git a/RGB.NET.Devices.Razer/Keypad/RazerKeypadRGBDevice.cs b/RGB.NET.Devices.Razer/Keypad/RazerKeypadRGBDevice.cs
index f620388..6c1c244 100644
--- a/RGB.NET.Devices.Razer/Keypad/RazerKeypadRGBDevice.cs
+++ b/RGB.NET.Devices.Razer/Keypad/RazerKeypadRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents a razer keypad.
///
-public class RazerKeypadRGBDevice : RazerRGBDevice, IKeypad
+public sealed class RazerKeypadRGBDevice : RazerRGBDevice, IKeypad
{
#region Constructors
diff --git a/RGB.NET.Devices.Razer/Keypad/RazerKeypadUpdateQueue.cs b/RGB.NET.Devices.Razer/Keypad/RazerKeypadUpdateQueue.cs
index 2b6dcc6..9b6908a 100644
--- a/RGB.NET.Devices.Razer/Keypad/RazerKeypadUpdateQueue.cs
+++ b/RGB.NET.Devices.Razer/Keypad/RazerKeypadUpdateQueue.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents the update-queue performing updates for razer keypad devices.
///
-public class RazerKeypadUpdateQueue : RazerUpdateQueue
+public sealed class RazerKeypadUpdateQueue : RazerUpdateQueue
{
#region Constructors
diff --git a/RGB.NET.Devices.Razer/Mouse/RazerMouseRGBDevice.cs b/RGB.NET.Devices.Razer/Mouse/RazerMouseRGBDevice.cs
index 1433449..fe00b6c 100644
--- a/RGB.NET.Devices.Razer/Mouse/RazerMouseRGBDevice.cs
+++ b/RGB.NET.Devices.Razer/Mouse/RazerMouseRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents a razer mouse.
///
-public class RazerMouseRGBDevice : RazerRGBDevice, IMouse
+public sealed class RazerMouseRGBDevice : RazerRGBDevice, IMouse
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Razer/Mouse/RazerMouseUpdateQueue.cs b/RGB.NET.Devices.Razer/Mouse/RazerMouseUpdateQueue.cs
index 5a50911..22295d0 100644
--- a/RGB.NET.Devices.Razer/Mouse/RazerMouseUpdateQueue.cs
+++ b/RGB.NET.Devices.Razer/Mouse/RazerMouseUpdateQueue.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents the update-queue performing updates for razer mouse devices.
///
-public class RazerMouseUpdateQueue : RazerUpdateQueue
+public sealed class RazerMouseUpdateQueue : RazerUpdateQueue
{
#region Constructors
diff --git a/RGB.NET.Devices.Razer/Mousepad/RazerMousepadRGBDevice.cs b/RGB.NET.Devices.Razer/Mousepad/RazerMousepadRGBDevice.cs
index af47df3..33932c4 100644
--- a/RGB.NET.Devices.Razer/Mousepad/RazerMousepadRGBDevice.cs
+++ b/RGB.NET.Devices.Razer/Mousepad/RazerMousepadRGBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents a razer mousepad.
///
-public class RazerMousepadRGBDevice : RazerRGBDevice, IMousepad
+public sealed class RazerMousepadRGBDevice : RazerRGBDevice, IMousepad
{
#region Constructors
diff --git a/RGB.NET.Devices.Razer/Mousepad/RazerMousepadUpdateQueue.cs b/RGB.NET.Devices.Razer/Mousepad/RazerMousepadUpdateQueue.cs
index 3b01b67..57d912a 100644
--- a/RGB.NET.Devices.Razer/Mousepad/RazerMousepadUpdateQueue.cs
+++ b/RGB.NET.Devices.Razer/Mousepad/RazerMousepadUpdateQueue.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents the update-queue performing updates for razer mousepad devices.
///
-public class RazerMousepadUpdateQueue : RazerUpdateQueue
+public sealed class RazerMousepadUpdateQueue : RazerUpdateQueue
{
#region Constructors
diff --git a/RGB.NET.Devices.Razer/RazerDeviceProvider.cs b/RGB.NET.Devices.Razer/RazerDeviceProvider.cs
index 04edecc..313ef08 100644
--- a/RGB.NET.Devices.Razer/RazerDeviceProvider.cs
+++ b/RGB.NET.Devices.Razer/RazerDeviceProvider.cs
@@ -15,7 +15,7 @@ namespace RGB.NET.Devices.Razer;
///
/// Represents a device provider responsible for razer devices.
///
-public class RazerDeviceProvider : AbstractRGBDeviceProvider
+public sealed class RazerDeviceProvider : AbstractRGBDeviceProvider
{
#region Properties & Fields
@@ -308,8 +308,6 @@ public class RazerDeviceProvider : AbstractRGBDeviceProvider
// DarthAffe 03.03.2020: Fails with an access-violation - verify if an unload is already triggered by uninit
//try { _RazerSDK.UnloadRazerSDK(); }
//catch { /* at least we tried */ }
-
- GC.SuppressFinalize(this);
}
#endregion
diff --git a/RGB.NET.Devices.SteelSeries/API/Model/CoreProps.cs b/RGB.NET.Devices.SteelSeries/API/Model/CoreProps.cs
index c5cc970..8e74d0e 100644
--- a/RGB.NET.Devices.SteelSeries/API/Model/CoreProps.cs
+++ b/RGB.NET.Devices.SteelSeries/API/Model/CoreProps.cs
@@ -2,7 +2,7 @@
namespace RGB.NET.Devices.SteelSeries.API.Model;
-internal class CoreProps
+internal sealed class CoreProps
{
[JsonPropertyName("address")]
public string? Address { get; set; }
diff --git a/RGB.NET.Devices.SteelSeries/API/Model/Event.cs b/RGB.NET.Devices.SteelSeries/API/Model/Event.cs
index 4aa335e..2862e94 100644
--- a/RGB.NET.Devices.SteelSeries/API/Model/Event.cs
+++ b/RGB.NET.Devices.SteelSeries/API/Model/Event.cs
@@ -3,7 +3,7 @@ using System.Text.Json.Serialization;
namespace RGB.NET.Devices.SteelSeries.API.Model;
-internal class Event
+internal sealed class Event
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.SteelSeries/API/Model/Game.cs b/RGB.NET.Devices.SteelSeries/API/Model/Game.cs
index b22cb1f..081d3dd 100644
--- a/RGB.NET.Devices.SteelSeries/API/Model/Game.cs
+++ b/RGB.NET.Devices.SteelSeries/API/Model/Game.cs
@@ -2,7 +2,7 @@
namespace RGB.NET.Devices.SteelSeries.API.Model;
-internal class Game
+internal sealed class Game
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.SteelSeries/API/Model/GoLispHandler.cs b/RGB.NET.Devices.SteelSeries/API/Model/GoLispHandler.cs
index 3cd2ec4..1c6dba1 100644
--- a/RGB.NET.Devices.SteelSeries/API/Model/GoLispHandler.cs
+++ b/RGB.NET.Devices.SteelSeries/API/Model/GoLispHandler.cs
@@ -2,7 +2,7 @@
namespace RGB.NET.Devices.SteelSeries.API.Model;
-internal class GoLispHandler
+internal sealed class GoLispHandler
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.SteelSeries/Attribute/APIName.cs b/RGB.NET.Devices.SteelSeries/Attribute/APIName.cs
index dbf9931..d500a53 100644
--- a/RGB.NET.Devices.SteelSeries/Attribute/APIName.cs
+++ b/RGB.NET.Devices.SteelSeries/Attribute/APIName.cs
@@ -1,6 +1,6 @@
namespace RGB.NET.Devices.SteelSeries;
-internal class APIName : System.Attribute
+internal sealed class APIName : System.Attribute
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesDeviceUpdateQueue.cs b/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesDeviceUpdateQueue.cs
index 26d744d..c85f394 100644
--- a/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesDeviceUpdateQueue.cs
+++ b/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesDeviceUpdateQueue.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.SteelSeries;
///
/// Represents the update-queue performing updates for steelseries devices.
///
-internal class SteelSeriesDeviceUpdateQueue : UpdateQueue
+internal sealed class SteelSeriesDeviceUpdateQueue : UpdateQueue
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesRGBDevice.cs b/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesRGBDevice.cs
index f85213b..86b1bdf 100644
--- a/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesRGBDevice.cs
+++ b/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesRGBDevice.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.SteelSeries;
///
/// Represents a SteelSeries-device. (keyboard, mouse, headset, mousepad).
///
-public class SteelSeriesRGBDevice : AbstractRGBDevice, ISteelSeriesRGBDevice, IUnknownDevice//TODO DarthAffe 18.04.2020: It's know which kind of device this is, but they would need to be separated
+public sealed class SteelSeriesRGBDevice : AbstractRGBDevice, ISteelSeriesRGBDevice, IUnknownDevice//TODO DarthAffe 18.04.2020: It's know which kind of device this is, but they would need to be separated
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesRGBDeviceInfo.cs b/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesRGBDeviceInfo.cs
index fe1f747..0ceebba 100644
--- a/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesRGBDeviceInfo.cs
+++ b/RGB.NET.Devices.SteelSeries/Generic/SteelSeriesRGBDeviceInfo.cs
@@ -6,7 +6,7 @@ namespace RGB.NET.Devices.SteelSeries;
///
/// Represents a generic information for a SteelSeries-.
///
-public class SteelSeriesRGBDeviceInfo : IRGBDeviceInfo
+public sealed class SteelSeriesRGBDeviceInfo : IRGBDeviceInfo
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.SteelSeries/SteelSeriesDeviceProvider.cs b/RGB.NET.Devices.SteelSeries/SteelSeriesDeviceProvider.cs
index ee15533..417a448 100644
--- a/RGB.NET.Devices.SteelSeries/SteelSeriesDeviceProvider.cs
+++ b/RGB.NET.Devices.SteelSeries/SteelSeriesDeviceProvider.cs
@@ -10,11 +10,11 @@ namespace RGB.NET.Devices.SteelSeries;
///
/// Represents a device provider responsible for SteelSeries-devices.
///
-public class SteelSeriesDeviceProvider : AbstractRGBDeviceProvider
+public sealed class SteelSeriesDeviceProvider : AbstractRGBDeviceProvider
{
#region Constants
- private static readonly int HEARTBEAT_TIMER = 5000; // flush the device every 5 seconds to prevent timeouts
+ private const int HEARTBEAT_TIMER = 5000; // flush the device every 5 seconds to prevent timeouts
#endregion
@@ -137,8 +137,6 @@ public class SteelSeriesDeviceProvider : AbstractRGBDeviceProvider
try { SteelSeriesSDK.Dispose(); }
catch { /* shit happens */ }
-
- GC.SuppressFinalize(this);
}
#endregion
diff --git a/RGB.NET.Devices.WS281X/Arduino/ArduinoWS2812USBDevice.cs b/RGB.NET.Devices.WS281X/Arduino/ArduinoWS2812USBDevice.cs
index 4f2bf09..a22502e 100644
--- a/RGB.NET.Devices.WS281X/Arduino/ArduinoWS2812USBDevice.cs
+++ b/RGB.NET.Devices.WS281X/Arduino/ArduinoWS2812USBDevice.cs
@@ -11,7 +11,7 @@ namespace RGB.NET.Devices.WS281X.Arduino;
///
/// Represents an arduino WS2812 device.
///
-public class ArduinoWS2812USBDevice : AbstractRGBDevice, ILedStripe
+public sealed class ArduinoWS2812USBDevice : AbstractRGBDevice, ILedStripe
{
#region Properties & Fields
///
diff --git a/RGB.NET.Devices.WS281X/Arduino/ArduinoWS2812USBDeviceInfo.cs b/RGB.NET.Devices.WS281X/Arduino/ArduinoWS2812USBDeviceInfo.cs
index fede95c..a03fdf0 100644
--- a/RGB.NET.Devices.WS281X/Arduino/ArduinoWS2812USBDeviceInfo.cs
+++ b/RGB.NET.Devices.WS281X/Arduino/ArduinoWS2812USBDeviceInfo.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.WS281X.Arduino;
///
/// Represents a generic information for a .
///
-public class ArduinoWS2812USBDeviceInfo : IRGBDeviceInfo
+public sealed class ArduinoWS2812USBDeviceInfo : IRGBDeviceInfo
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.WS281X/Arduino/ArduinoWS2812USBUpdateQueue.cs b/RGB.NET.Devices.WS281X/Arduino/ArduinoWS2812USBUpdateQueue.cs
index 603b6f5..2d035ff 100644
--- a/RGB.NET.Devices.WS281X/Arduino/ArduinoWS2812USBUpdateQueue.cs
+++ b/RGB.NET.Devices.WS281X/Arduino/ArduinoWS2812USBUpdateQueue.cs
@@ -9,7 +9,7 @@ namespace RGB.NET.Devices.WS281X.Arduino;
///
/// Represents the update-queue performing updates for arduino WS2812 devices.
///
-public class ArduinoWS2812USBUpdateQueue : SerialConnectionUpdateQueue
+public sealed class ArduinoWS2812USBUpdateQueue : SerialConnectionUpdateQueue
{
#region Constants
diff --git a/RGB.NET.Devices.WS281X/Arduino/ArduinoWS281XDeviceDefinition.cs b/RGB.NET.Devices.WS281X/Arduino/ArduinoWS281XDeviceDefinition.cs
index 612596d..e3d2545 100644
--- a/RGB.NET.Devices.WS281X/Arduino/ArduinoWS281XDeviceDefinition.cs
+++ b/RGB.NET.Devices.WS281X/Arduino/ArduinoWS281XDeviceDefinition.cs
@@ -12,7 +12,7 @@ namespace RGB.NET.Devices.WS281X.Arduino;
///
/// Represents a definition of an arduino WS2812 devices.
///
-public class ArduinoWS281XDeviceDefinition : IWS281XDeviceDefinition
+public sealed class ArduinoWS281XDeviceDefinition : IWS281XDeviceDefinition
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS2812USBDevice.cs b/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS2812USBDevice.cs
index 1dc38cd..94d7479 100644
--- a/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS2812USBDevice.cs
+++ b/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS2812USBDevice.cs
@@ -10,7 +10,7 @@ namespace RGB.NET.Devices.WS281X.Bitwizard;
///
/// Represents an bitwizard WS2812 USB device.
///
-public class BitwizardWS2812USBDevice : AbstractRGBDevice, ILedStripe
+public sealed class BitwizardWS2812USBDevice : AbstractRGBDevice, ILedStripe
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS2812USBDeviceInfo.cs b/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS2812USBDeviceInfo.cs
index 65f0054..3e911b7 100644
--- a/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS2812USBDeviceInfo.cs
+++ b/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS2812USBDeviceInfo.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.WS281X.Bitwizard;
///
/// Represents a generic information for a .
///
-public class BitwizardWS2812USBDeviceInfo : IRGBDeviceInfo
+public sealed class BitwizardWS2812USBDeviceInfo : IRGBDeviceInfo
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS2812USBUpdateQueue.cs b/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS2812USBUpdateQueue.cs
index cb0ef7b..b970b54 100644
--- a/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS2812USBUpdateQueue.cs
+++ b/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS2812USBUpdateQueue.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Devices.WS281X.Bitwizard;
///
/// Represents the update-queue performing updates for a bitwizard WS2812 device.
///
-public class BitwizardWS2812USBUpdateQueue : SerialConnectionUpdateQueue
+public sealed class BitwizardWS2812USBUpdateQueue : SerialConnectionUpdateQueue
{
#region Constructors
diff --git a/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS281XDeviceDefinition.cs b/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS281XDeviceDefinition.cs
index 3da2203..131a879 100644
--- a/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS281XDeviceDefinition.cs
+++ b/RGB.NET.Devices.WS281X/Bitwizard/BitwizardWS281XDeviceDefinition.cs
@@ -12,7 +12,7 @@ namespace RGB.NET.Devices.WS281X.Bitwizard;
///
/// Represents a definition of an bitwizard WS2812 devices.
///
-public class BitwizardWS281XDeviceDefinition : IWS281XDeviceDefinition
+public sealed class BitwizardWS281XDeviceDefinition : IWS281XDeviceDefinition
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.WS281X/Generic/SerialPortConnection.cs b/RGB.NET.Devices.WS281X/Generic/SerialPortConnection.cs
index f581e3f..7004a30 100644
--- a/RGB.NET.Devices.WS281X/Generic/SerialPortConnection.cs
+++ b/RGB.NET.Devices.WS281X/Generic/SerialPortConnection.cs
@@ -1,5 +1,4 @@
-using System;
-using System.IO.Ports;
+using System.IO.Ports;
namespace RGB.NET.Devices.WS281X;
@@ -7,7 +6,7 @@ namespace RGB.NET.Devices.WS281X;
///
/// Represents a serial-connection using the default microsoft serial-port implementation.
///
-public class SerialPortConnection : ISerialConnection
+public sealed class SerialPortConnection : ISerialConnection
{
#region Properties & Fields
@@ -65,8 +64,6 @@ public class SerialPortConnection : ISerialConnection
public void Dispose()
{
SerialPort.Dispose();
-
- GC.SuppressFinalize(this);
}
#endregion
diff --git a/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS2812USBDevice.cs b/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS2812USBDevice.cs
index 8c55f6b..f297a60 100644
--- a/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS2812USBDevice.cs
+++ b/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS2812USBDevice.cs
@@ -12,7 +12,7 @@ namespace RGB.NET.Devices.WS281X.NodeMCU;
///
/// Represents an NodeMCU WS2812 device.
///
-public class NodeMCUWS2812USBDevice : AbstractRGBDevice, ILedStripe
+public sealed class NodeMCUWS2812USBDevice : AbstractRGBDevice, ILedStripe
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS2812USBDeviceInfo.cs b/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS2812USBDeviceInfo.cs
index 0caf3b6..d36813f 100644
--- a/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS2812USBDeviceInfo.cs
+++ b/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS2812USBDeviceInfo.cs
@@ -7,7 +7,7 @@ namespace RGB.NET.Devices.WS281X.NodeMCU;
///
/// Represents a generic information for a .
///
-public class NodeMCUWS2812USBDeviceInfo : IRGBDeviceInfo
+public sealed class NodeMCUWS2812USBDeviceInfo : IRGBDeviceInfo
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS2812USBUpdateQueue.cs b/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS2812USBUpdateQueue.cs
index 9e6d30e..a78343c 100644
--- a/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS2812USBUpdateQueue.cs
+++ b/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS2812USBUpdateQueue.cs
@@ -14,7 +14,7 @@ namespace RGB.NET.Devices.WS281X.NodeMCU;
///
/// Represents the update-queue performing updates for NodeMCU WS2812 devices.
///
-public class NodeMCUWS2812USBUpdateQueue : UpdateQueue
+public sealed class NodeMCUWS2812USBUpdateQueue : UpdateQueue
{
#region Properties & Fields
@@ -183,8 +183,6 @@ public class NodeMCUWS2812USBUpdateQueue : UpdateQueue
ResetDevice();
_httpClient.Dispose();
}
-
- GC.SuppressFinalize(this);
}
private string GetUrl(string path) => $"http://{_hostname}/{path}";
diff --git a/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS281XDeviceDefinition.cs b/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS281XDeviceDefinition.cs
index 0f68f2b..a345119 100644
--- a/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS281XDeviceDefinition.cs
+++ b/RGB.NET.Devices.WS281X/NodeMCU/NodeMCUWS281XDeviceDefinition.cs
@@ -13,7 +13,7 @@ namespace RGB.NET.Devices.WS281X.NodeMCU;
///
/// Represents a definition of an NodeMCU WS2812 devices.
///
-public class NodeMCUWS281XDeviceDefinition : IWS281XDeviceDefinition
+public sealed class NodeMCUWS281XDeviceDefinition : IWS281XDeviceDefinition
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.WS281X/WS281XDeviceProvider.cs b/RGB.NET.Devices.WS281X/WS281XDeviceProvider.cs
index 6a5c49d..4d2e047 100644
--- a/RGB.NET.Devices.WS281X/WS281XDeviceProvider.cs
+++ b/RGB.NET.Devices.WS281X/WS281XDeviceProvider.cs
@@ -12,7 +12,7 @@ namespace RGB.NET.Devices.WS281X;
///
// ReSharper disable once InconsistentNaming
// ReSharper disable once UnusedType.Global
-public class WS281XDeviceProvider : AbstractRGBDeviceProvider
+public sealed class WS281XDeviceProvider : AbstractRGBDeviceProvider
{
#region Properties & Fields
@@ -75,8 +75,6 @@ public class WS281XDeviceProvider : AbstractRGBDeviceProvider
base.Dispose();
DeviceDefinitions.Clear();
-
- GC.SuppressFinalize(this);
}
#endregion
diff --git a/RGB.NET.Devices.Wooting/Generic/WootingUpdateQueue.cs b/RGB.NET.Devices.Wooting/Generic/WootingUpdateQueue.cs
index 3791ba0..8a3012e 100644
--- a/RGB.NET.Devices.Wooting/Generic/WootingUpdateQueue.cs
+++ b/RGB.NET.Devices.Wooting/Generic/WootingUpdateQueue.cs
@@ -8,10 +8,12 @@ namespace RGB.NET.Devices.Wooting.Generic;
///
/// Represents the update-queue performing updates for cooler master devices.
///
-public class WootingUpdateQueue : UpdateQueue
+public sealed class WootingUpdateQueue : UpdateQueue
{
#region Properties & Fields
+
private readonly byte _deviceid;
+
#endregion
#region Constructors
diff --git a/RGB.NET.Devices.Wooting/Keyboard/WootingKeyboardRGBDevice.cs b/RGB.NET.Devices.Wooting/Keyboard/WootingKeyboardRGBDevice.cs
index 0f5882c..79e1baf 100644
--- a/RGB.NET.Devices.Wooting/Keyboard/WootingKeyboardRGBDevice.cs
+++ b/RGB.NET.Devices.Wooting/Keyboard/WootingKeyboardRGBDevice.cs
@@ -1,5 +1,4 @@
-using System;
-using System.Collections.Generic;
+using System.Collections.Generic;
using RGB.NET.Core;
using RGB.NET.Devices.Wooting.Generic;
using RGB.NET.Devices.Wooting.Native;
@@ -10,7 +9,7 @@ namespace RGB.NET.Devices.Wooting.Keyboard;
///
/// Represents a Wooting keyboard.
///
-public class WootingKeyboardRGBDevice : WootingRGBDevice, IKeyboard
+public sealed class WootingKeyboardRGBDevice : WootingRGBDevice, IKeyboard
{
#region Properties & Fields
@@ -53,8 +52,6 @@ public class WootingKeyboardRGBDevice : WootingRGBDevice
/// Represents a generic information for a .
///
-public class WootingKeyboardRGBDeviceInfo : WootingRGBDeviceInfo, IKeyboardDeviceInfo
+public sealed class WootingKeyboardRGBDeviceInfo : WootingRGBDeviceInfo, IKeyboardDeviceInfo
{
#region Properties & Fields
diff --git a/RGB.NET.Devices.Wooting/WootingDeviceProvider.cs b/RGB.NET.Devices.Wooting/WootingDeviceProvider.cs
index aebe9c0..484bbaf 100644
--- a/RGB.NET.Devices.Wooting/WootingDeviceProvider.cs
+++ b/RGB.NET.Devices.Wooting/WootingDeviceProvider.cs
@@ -12,7 +12,7 @@ namespace RGB.NET.Devices.Wooting;
///
/// Represents a device provider responsible for Wooting devices.
///
-public class WootingDeviceProvider : AbstractRGBDeviceProvider
+public sealed class WootingDeviceProvider : AbstractRGBDeviceProvider
{
#region Properties & Fields
@@ -103,8 +103,6 @@ public class WootingDeviceProvider : AbstractRGBDeviceProvider
try { _WootingSDK.UnloadWootingSDK(); }
catch { /* at least we tried */ }
}
-
- GC.SuppressFinalize(this);
}
#endregion
diff --git a/RGB.NET.HID/HIDLoader.cs b/RGB.NET.HID/HIDLoader.cs
index b0ecfe7..b39df67 100644
--- a/RGB.NET.HID/HIDLoader.cs
+++ b/RGB.NET.HID/HIDLoader.cs
@@ -19,7 +19,7 @@ public record HIDDeviceDefinition(int ProductId, RGBDeviceType Devi
///
/// The type of the identifier leds are mapped to.
/// The type of the custom data added to the HID-device.
-public class HIDLoader : IEnumerable>
+public sealed class HIDLoader : IEnumerable>
where TLed : notnull
{
#region Properties & Fields
diff --git a/RGB.NET.Presets/Decorators/FlashDecorator.cs b/RGB.NET.Presets/Decorators/FlashDecorator.cs
index 64794b5..e30a5f2 100644
--- a/RGB.NET.Presets/Decorators/FlashDecorator.cs
+++ b/RGB.NET.Presets/Decorators/FlashDecorator.cs
@@ -12,7 +12,7 @@ namespace RGB.NET.Presets.Decorators;
///
/// Represents a decorator which allows to flash a brush by modifying his opacity.
///
-public class FlashDecorator : AbstractUpdateAwareDecorator, IBrushDecorator
+public sealed class FlashDecorator : AbstractUpdateAwareDecorator, IBrushDecorator
{
#region Properties & Fields
diff --git a/RGB.NET.Presets/Groups/RectangleLedGroup.cs b/RGB.NET.Presets/Groups/RectangleLedGroup.cs
index cf66848..62a59ac 100644
--- a/RGB.NET.Presets/Groups/RectangleLedGroup.cs
+++ b/RGB.NET.Presets/Groups/RectangleLedGroup.cs
@@ -13,7 +13,7 @@ namespace RGB.NET.Presets.Groups;
///
/// Represents a containing which physically lay inside a .
///
-public class RectangleLedGroup : AbstractLedGroup
+public sealed class RectangleLedGroup : AbstractLedGroup
{
#region Properties & Fields
diff --git a/RGB.NET.Presets/Textures/Gradients/GradientStop.cs b/RGB.NET.Presets/Textures/Gradients/GradientStop.cs
index d7aa536..75b9842 100644
--- a/RGB.NET.Presets/Textures/Gradients/GradientStop.cs
+++ b/RGB.NET.Presets/Textures/Gradients/GradientStop.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Presets.Textures.Gradients;
///
/// Represents a stop on a gradient.
///
-public class GradientStop : AbstractBindable
+public sealed class GradientStop : AbstractBindable
{
#region Properties & Fields
diff --git a/RGB.NET.Presets/Textures/Gradients/LinearGradient.cs b/RGB.NET.Presets/Textures/Gradients/LinearGradient.cs
index 29a732a..18fa252 100644
--- a/RGB.NET.Presets/Textures/Gradients/LinearGradient.cs
+++ b/RGB.NET.Presets/Textures/Gradients/LinearGradient.cs
@@ -11,12 +11,12 @@ namespace RGB.NET.Presets.Textures.Gradients;
///
/// Represents a linear interpolated gradient with n stops.
///
-public class LinearGradient : AbstractGradient
+public sealed class LinearGradient : AbstractGradient
{
#region Properties & Fields
private bool _isOrderedGradientListDirty = true;
- private LinkedList _orderedGradientStops = new();
+ private readonly List _orderedGradientStops = new();
#endregion
@@ -89,7 +89,10 @@ public class LinearGradient : AbstractGradient
if (GradientStops.Count == 1) return GradientStops[0].Color;
if (_isOrderedGradientListDirty)
- _orderedGradientStops = new LinkedList(GradientStops.OrderBy(x => x.Offset));
+ {
+ _orderedGradientStops.Clear();
+ _orderedGradientStops.AddRange(GradientStops.OrderBy(x => x.Offset));
+ }
(GradientStop gsBefore, GradientStop gsAfter) = GetEnclosingGradientStops(offset, _orderedGradientStops, WrapGradient);
@@ -112,7 +115,7 @@ public class LinearGradient : AbstractGradient
/// The ordered list of to choose from.
/// Bool indicating if the gradient should be wrapped or not.
/// The two s encapsulating the specified offset.
- protected virtual (GradientStop gsBefore, GradientStop gsAfter) GetEnclosingGradientStops(float offset, LinkedList orderedStops, bool wrap)
+ private (GradientStop gsBefore, GradientStop gsAfter) GetEnclosingGradientStops(float offset, IEnumerable orderedStops, bool wrap)
{
LinkedList gradientStops = new(orderedStops);
diff --git a/RGB.NET.Presets/Textures/Gradients/RainbowGradient.cs b/RGB.NET.Presets/Textures/Gradients/RainbowGradient.cs
index 46c1e5b..177997a 100644
--- a/RGB.NET.Presets/Textures/Gradients/RainbowGradient.cs
+++ b/RGB.NET.Presets/Textures/Gradients/RainbowGradient.cs
@@ -13,7 +13,7 @@ namespace RGB.NET.Presets.Textures.Gradients;
/// Represents a rainbow gradient which circles through all colors of the HUE-color-space.
/// See as reference.
///
-public class RainbowGradient : AbstractDecoratable, IGradient
+public sealed class RainbowGradient : AbstractDecoratable, IGradient
{
#region Properties & Fields
@@ -102,7 +102,7 @@ public class RainbowGradient : AbstractDecoratable, IGradien
///
/// Should be called to indicate that the gradient was changed.
///
- protected void OnGradientChanged() => GradientChanged?.Invoke(this, EventArgs.Empty);
+ private void OnGradientChanged() => GradientChanged?.Invoke(this, EventArgs.Empty);
#endregion
}
\ No newline at end of file
diff --git a/RGB.NET.Presets/Textures/Sampler/AverageByteSampler.cs b/RGB.NET.Presets/Textures/Sampler/AverageByteSampler.cs
index 8d5b8b6..349afd7 100644
--- a/RGB.NET.Presets/Textures/Sampler/AverageByteSampler.cs
+++ b/RGB.NET.Presets/Textures/Sampler/AverageByteSampler.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Presets.Textures.Sampler;
///
/// Represents a sampled that averages multiple byte-data entries.
///
-public class AverageByteSampler : ISampler
+public sealed class AverageByteSampler : ISampler
{
#region Constants
diff --git a/RGB.NET.Presets/Textures/Sampler/AverageFloatSampler.cs b/RGB.NET.Presets/Textures/Sampler/AverageFloatSampler.cs
index 50e9563..d53ad5d 100644
--- a/RGB.NET.Presets/Textures/Sampler/AverageFloatSampler.cs
+++ b/RGB.NET.Presets/Textures/Sampler/AverageFloatSampler.cs
@@ -8,7 +8,7 @@ namespace RGB.NET.Presets.Textures.Sampler;
///
/// Represents a sampled that averages multiple float-data entries.
///
-public class AverageFloatSampler : ISampler
+public sealed class AverageFloatSampler : ISampler
{
#region Methods