Private Shared Variables Vs Local / Namespace Performance
Jun 8, 2009
I came across a number of new Private Shared variables (of type Hashtables(Of String), initialized in the declaration) added to a partial class for a very large (DataContext-derived) class. This seems sensible to me in one sense because they never change, and making these shared variables ensures that they won't get re-initialized every time a function is called. However, these variables are only used within the scope of one function in the class, and I fear the private namespace of this DataContext-derived class is getting rather polluted, and having these sorts of things exposed at such a high level might be confusing to others reading the code in the future.
Would there be negative performance impact to making these local variables within the function where they are used, or is there some better way to handle this? Basically we are using these 3 hashtables to determine whether anything within particular subsets of properties changed (using GetModifiedMembers and then using the Overlaps function of the hashset to see if any of the modified members correspond to members we care about).
Edit: I caved and took the time to write my own test program, which confirmed that there is a cost to using local variables (which I assume applies generally to all cases -- I doubt there's any case where a shared variable would be slower unless using the shared variable requires some additional logic to do so properly): [Code]
So in this particular case, using the local variable costs about 200%. But in most cases (including my own), the time is probably negligible compared to the overall task. So I guess the question now becomes, how do people generally feel about improving code maintainability at the cost of negligible but known performance impacts?
View 3 Replies
ADVERTISEMENT
Sep 30, 2011
I am writing some code that uses fixed regexs to search strings and pattern match. Its simple stuff, but I want to improve regex performance with compiling (its a high traffic website). I was thinking of compiling the regex and putting it in a Shared (static) variable inside a class. Something like this:
[Code]...
View 1 Replies
Apr 18, 2012
I am wondering if you have a class and in the class you have a function which executes a sqlcommand. Which would u use ? the local variable declaration or the private member command variable.Assuming that the class has a private field called m_Cmd as OracleCommand..i am using oracle db so i use oraclecommand , if sql server then it should be sqlCommand.[code]
View 3 Replies
Jul 22, 2009
give me a good resource that explains the difference between a Private, Public, Shared Functions/Sub/Variables? I normally use Public for Subs/Functions inside of Modules I call from other parts of the program. But I'd like to get more of an understanding of how and when to use them. I want as little as impact to a system that is running my programs as possible, so i guess the key here is I'm trying to just get more proficient in my coding.
View 8 Replies
Mar 13, 2012
I was reviewing the MSDN documentation on VB.Net's little-used Static keyword for local variables. My question is not about how Static works (I personally plan to avoid using it as it seems like it could cause grief to future programmers who don't notice the side-effects.) My question is about this statement in the docs:[code]So can anyone interpret the above statement for me in a way that makes sense? Or is this a bug in the documentation? It's been there since the VS 2005 version of the docs and is still present in the Visual Studio 11 version.
View 2 Replies
Aug 23, 2011
Will the list in this shared method keep its state throughout the life of the method? Or will a new list be created every time this method is called?
[Code]...
View 3 Replies
Aug 25, 2011
I have a class like this:
[Code]...
It works, when I make getBar methods public, but I don't want to expose these unneccessarily. Why I can't call private shared methods from a public one in the same class is over my head. I'm using .net framework 4.0 in a web application.
View 1 Replies
Jul 23, 2010
if for example i have two private sub I declared a local variable on private sub a... is there a way that private sub b could use the variable created on private sub a? Im asking because im in a problem in my app were using global variable is not an option to make the long story short
View 5 Replies
Feb 16, 2012
what websites, books or courses you guys suggest to use so I learn the fundamentals of programming. What is a class, method, namespace, private vs public. That leads me into .Net programming. A lot of intro to programming use java or C++ as the platform but I want to find one with VB.net or maybe C# if.
View 6 Replies
Aug 8, 2011
I have a form (frmMain) that contains a custom control (con class). frmMain contains a combo box control and when the user selects a value from it, I pass this value to a sub routine within con class (see red line below). This purpose of the sub routine is to populate a set of comboxes contained in con class according to the value that is passed in.
Private Sub cboGuidelines_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cboGuidelines.SelectedIndexChanged
If bChanged = True Then
[code].....
View 6 Replies
Jan 24, 2012
I have as sub that is triggered from the file system watcher when the new file is created in spec. directory.I need to call some function to do something with that file. [code]
View 6 Replies
Jun 4, 2010
I am trying to add shared members in derived classes and use that values in base classes...
I have base
class DBLayer
public shared function GetDetail(byval UIN as integer)
dim StrSql = string.format("select * from {0} where uin = {1}", tablename, uin)
end function
end class
[Code]..
currently there is error using the tablename variable of derived class in base class but i want to use it i dun know other techniques if other solutions are better then u can post it or u can say how can i make it work? confused...
View 2 Replies
Jul 13, 2009
I have created a synchronized queue and am using SyncLock on the SyncRoot property of that queue when I invoke the Enqueue/Dequeue methods. The methods are invoked from instances of standard producer/consumer classes.Is that a proper use of the SyncRoot property?
Would it be better practice to create a private shared object in each class and lock on that instead?
View 1 Replies
Mar 28, 2011
I've read that modules are basically shared classes. For a module though, you can call a method directly without prefixing the module name. So I can do this: methodTest("abc", mod1Enum.enum2)But for a class with shared members I have to fully qualify the method call, and in this case fully qualify the enum:[code]In our conversion from VB6 to .NET the need to fully qualify all calls like this might be an argument for us to bring our VB6 modules over as modules instead of converting them to classes.
View 7 Replies
Sep 1, 2010
I have several xml namespaces that expose the same schema.
I want to use a function that dynamically accepts a namespace and applies the attributes or the properties according to the specified namespace:
Public Sub ProcessElement(element As XElement, [namespace] As XNamespace)
element.<[namespace]:Property>.Remove()
End Sub
I actually want to set the namespace resultion withing this function to the given argument.
Look at this article, he does exactly what I want, but I am sure that in VB.NET XML Literals there is a much nicer way than doing it the hardcoded way.
I know I can simply do it like this:
element.Elements([namespace] + "Property").Remove()
But I was wondering if there is a way to include namespaces in VB.NET amazing .<>, .@, ...<> language shortcuts.
View 1 Replies
Mar 11, 2010
I am a little new to .NET Developing, and have learned a great deal recently, but I'm stuck with something. I come from an ASP Background, I'm trying to subtract 2 variables, but they don't seem to 'see' one another.
[Code]...
View 6 Replies
Dec 18, 2009
I'm trying to make an application that calls a function to create a timer, but I cant use WithEvents or Private inside of a function or sub, Is there any way to do this?
View 5 Replies
Apr 3, 2010
I thought I had this figured out because it presented no errors, but when i tried to run it, I got this exception error:
Object reference not set to an instance of an object.
I am trying to set two private variables:
Private mdatStart As DateTime
Private mdatEnd As DateTime
I need to set these dates from a datetimepicker (dtpPickup, dtpReturn), but I don't now how to set it. I have tried using:
Private mdatStart As DateTime = New Date(dtpPickup.Value.Year, dtpPickup.Value.Month, dtpPickup.Value.Day)
'Private mdatEnd As DateTime = New DateTime(dtpReturn.Value.Year,
[Code]....
View 4 Replies
Feb 28, 2010
Does anyone know how to supress the private variables from showing in the .NET Namespace? I have a Class that looks similar to this.
[Code]...
View 5 Replies
Apr 22, 2010
I'm trying to get a handle on creating my own Interfaces for a project I'm working on. I know the MSDN help shows that all member signatures will become Public when implmented, etc, etc. However, if I implement the IDisposable interface provided by the framework, comments and private members and fields show up! Not only that, but some of the methods have comments and code within!
How did they do that? And can comments, private fields and members, and predetermined code be declared as part of an interface by the average developer?
View 3 Replies
Feb 7, 2012
I'm wondering about the performance differences between imports and inherits in a .net app.I currently program by creating multiple classes that logically define my objects. e.g. a class for customers, users and product.When i want to use these classes in a page i have to import them eg. "Imports Custmomers" and then later in my code i have to create a variable and datatype it before i can use the sub routines and functions from class.I understand from a coding perspective this keeps it all neat and tidy.So my question Would it be not better to combine all my classes into a base class, inherit that base class, rather than import it, when i want to use it and so cut down on the extra declarations and associated code that come from importing a class; and if i did this would it aid performance?
View 1 Replies
Apr 12, 2010
I see several posts about getting the UNC of a remote drive, anyone have any ideas how I get the name of a shared directory on a local machine?
View 1 Replies
May 4, 2012
I am programmer from some time only, I have certain doubts in fundamentals, could you please clarify on the following:Case 1:
[Code]...
Does case 1 and case 2 yield same result, I mean is a private value necessarily in there?, can we use property itself to use its own value in its Set and get statements?
View 2 Replies
Mar 3, 2011
comparing C# code and VB.NET and the results between the seemingly identical code were entirely different.(Why C# is always winning over VB.NET?)The explanation given is that C# will initialize the class fields, then call the base constructor, but VB.NET does the exact opposite. Is there a technical reason for the languages to be different? At first glance, it seems that either approach is equally valid, but I can't fathom why they wouldn't have selected the SAME approach.
EDIT: As 'Jeffrey L Whitledge' has pointed out, VB6 did not have inheritance, so I don't think we can say 'to keep VB.NET and VB6 more closely related'.
View 1 Replies
Mar 16, 2012
I'm attempting to create a bound WPF control; when I add a local namespace to the UserControl, I get strange output from the compiler. The header of the UserControl follows, with the offending line highlighted.[code]When that line is present, the compiler generates the following in the output:[code]
View 2 Replies
Jul 7, 2009
In the code below, the namespace is called "Navigation" which I think is correct. Then I have a class called "Heading", which by definition is the direction a person/vehicle is truly pointing towards. I think that is also named correctly. In the code below, I have four things I have named:
_WhatToName1, WhatToName2, WhatToName3, and WhatToName4.
The value that gets passed in and stored is a double between 0 and 360 -- essentially the degree value from a circle. For WhatToName3 and WhatToName4, I have seen a lot of places that just use "value" as the name. Is that standard?
Namespace Navigation
Public Class Heading
Private _WhatToName1 As Double
Public Sub New(ByVal WhatToName3 As Double)
Me.WhatToName2 = WhatToName3
[Code] .....
View 18 Replies
Oct 18, 2011
I have a bunch of private variables I've typed out and I want to put all of my corresponding Public ReadOnly Properties in a bunch below them.Is there some way of copying ten lines of
Private _myVar As String
and pasting in ten sets of
Public Readonly Property MyVar As String
Get
Return _myVar[code]....
I'm currently copying the whole bunch of variable declarations, Find+Replacing Private _ into Public ReadOnly Property then going line-by-line expanding the definitions and writing return statements.how to avoid all this nonsense in the future, as I'm developing on a virtual terminal server, and the input lag on my little copy/paste/type operations on the code is driving me up the wall.
View 1 Replies
Oct 4, 2010
I would like to create an interface that brings with it it's own private variables and regions.for example, if you create a class and implement IDisposable, you get all of the following:[code]
View 3 Replies
Nov 11, 2009
I have these list of RS-232 strings declared in my public class
Public Class TouchInterface
Dim WatchTVbtnCmd As String = "rs232command1"
Dim VolUpbtnCmd As String = "rs232command2"
Dim VolDownbtnCmd As String = "rs232command3"
Dim SystemOffbtnCmd As String = "rs232command4"
Dim RadiobtnCmd As String = "rs232command5"
Dim MusicbtnCmd As String = "rs232command6"
I then have this private sub. For the sake of this thread, what I would like to do is get the name of the label that was clicked which in the code below is already done, convert it to string (not sure if this needs to be done), this is also done in the code below. Next I want to compare the labelnamestring to all the variables in the public class to find out which one it is equal to and then disply that variable which should be my rs232 string in the message box. I have also added "Cmd" to the variable names above so I also need to work out how to add the text "Cmd" to the string to properly compare.
Private Sub Musicbtn_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles WatchTvbtn.Click, VolUpbtn.Click, VolDownbtn.Click, SystemOffbtn.Click, Radiobtn.Click, Musicbtn.Click, GardenVolUpbtn.Click, GardenVolDownbtn.Click, GardenRadiobtn.Click, GardenOffbtn.Click, GardenMusicbtn.Click, GardenMediaCenterbtn.Click
Dim labelname As Label = DirectCast(sender, Label)
[Code] .....
View 6 Replies
Jan 18, 2011
I have a problem with inherited classes. Have a look at the following VB.NET 2.0 / VS 2005 code:
MustInherit Class templateclass
Public Shared x As String
End Class
Class child1
[code]....
The templateclass has a shared variable x which is of course inherited by the child classes. But I wonder that all child classes share only one x! Until now I thought that shared variables are only shared among the instances of a class, not among all childs. This is very annoying because I have a base class which I need in two slightly different versions and they should not "share the shared" variables. And because the classes have a lot of shared variables, shadowing each in the childs would be very..
View 1 Replies