patternMinor
Is this the correct way to expose a setting for a vb.net class library?
Viewed 0 times
thisexposethewaysettingnetcorrectforlibraryclass
Problem
I define in the Settings Tab of a VB.Net class library some user scoped settings. I want to expose these settings to other projects that reference the class library. I chose to do this using a public Module. This works, but it requires exposing each and every setting manually. Is there a better way?
Public Module Settings
Public Property SomeSetting As Integer
Get
Return My.Settings.SomeSetting
End Get
Set(value As Integer)
My.Settings.SomeSetting = value
My.Settings.Save()
End Set
End Property
End ModuleSolution
I think it's a fairly verbose way of exposing app settings. How about this?
(taken from an answer on this SO question)
This essentially comes down to what @KonradRudolph's comment was saying - the reason you "need" your
If you need to expose app settings to other assemblies, you just change that access modifier to
Doing this:
Is then totally redundant. Even more so, doing what you've done (exposing each setting individually) becomes more painful to maintain than it needs to be; if the settings are public then you expose the settings class itself and whatever you change is immediately available to client assemblies.
(taken from an answer on this SO question)
This essentially comes down to what @KonradRudolph's comment was saying - the reason you "need" your
Settings module is probably because the settings' access modifier is set to Internal, which means it's not accessible to other assemblies.If you need to expose app settings to other assemblies, you just change that access modifier to
Public and you're done.Doing this:
Public Module Settings
Public Property AppSettings As Settings
Get
Return My.Settings
End Get
End Property
End ModuleIs then totally redundant. Even more so, doing what you've done (exposing each setting individually) becomes more painful to maintain than it needs to be; if the settings are public then you expose the settings class itself and whatever you change is immediately available to client assemblies.
Code Snippets
Public Module Settings
Public Property AppSettings As Settings
Get
Return My.Settings
End Get
End Property
End ModuleContext
StackExchange Code Review Q#20537, answer score: 2
Revisions (0)
No revisions yet.