Advantages Of Property Keyword Over Using A Private Field With Getters And Setters?
May 21, 2011
In VB.NET, what are the advantages of using the Property keyword rather than:[code]Coming from Java I tend to use this style rather than Property...End Property - is there any reason not to?
View 4 Replies
ADVERTISEMENT
Oct 1, 2010
How do I convert the following? I'm porting a vb 6 app to vb .net.
Public Property Get Width() As Long
Width = m_lWidth
End Property
Public Property Let Width(ByVal value As Long)
m_lWidth = value
[Code]...
View 2 Replies
Dec 28, 2010
This is probably a stupid question, but when accessing an attribute from within a class is it generally better to access the private variable directly, or access it using the getter/setter? Of course the whole point of encapsulating attributes is to allow changes to the underlying code without affecting anything that uses it. Should that also apply to the class itself? Or is it a case where the class should have full knowledge, and so shouldn't have to use the getters/setters?
View 1 Replies
Jan 25, 2012
Below is the class with a property.
public class abc
{
public int MyProperty { get; private set; }
}
What's the benefit of typing private access modifier in setter ?
View 5 Replies
Apr 7, 2011
In C# I can do this: public string myProperty { get; private set; }This is referred to as an "automatic getter/setter" (from what I've heard). Does VB.NET support these? So far, with my properties, all I can do is this:
[Code]...
View 2 Replies
Oct 12, 2011
I have observed a behaviour in VB.net where property setters get called more often than seems necessary, in conjunction with calls to the sister setter method.
Public Class Form1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Console.WriteLine("Calling WorkReferenceTypeByReference")
WorkReferenceTypeByReference(ReferenceTypeData)
Console.WriteLine("Called WorkReferenceTypeByReference")
[Code] .....
Note the spurious call to the property setter following the method execution. I am supposing this behaviour is produced as a safety measure against inadvertently modifying the underlying property, despite this potentially being the intent. This behaviour in the case of ByRef vs ByVal usage is easily solved by choosing appropriate ByVal keyword, however hase recently noticed a more insidious behaviour, one that has caused a stack overflow of repeated calls, since the setter call would update a value that called the getter only.
Public Sub DoSomething()
Dim a As New CustomObject(anotherObject.AProperty(getterArgument))
End Sub
Public Class AnotherObject
Public Property AProperty as SomeType
[Code] .....
In the previous example, calling DoSomething() would fire the AProperty getter method, but then after that usage, would fire the setter method, which by program logic calls DoSomething() again. It is the automatic calling of the setter that puzzles me.
View 2 Replies
May 31, 2012
Using vb.net 2008.I have used the "Using" keyword before in C# with objects that implement iDisposable.Can you use that keyword in vb.net also? What are the advantages of the "Using" keyword other than showing the coder when the object goes out of scope.I am under the impression that the "Dispose()" function is called at the IL level when you use "Using" instead of, for examplel, calling the Dispose() in the .net code.
View 1 Replies
Aug 27, 2009
I searched on the forum / Internet for the solution how a PropetryInfo object (of a Public property) can reveal if it has a Private Protected Setter ... it was all in vain .... all help I found was about how to "Set" value of a public property having a Private Setter.I would like to know if I have a PropertyInfo object of a public property, how would I know if its Setter is Non Public?
I tried, in a exception handling block, where I did a GetValue of the PropertyInfo object and then called SetValue by setting the same value back... but to my surprise it worked well and didn error out.
[Code]...
View 1 Replies
Jan 26, 2012
I Like .NET automatic properties, in C# it so easy to declare readonly property by declaring its set section as private like this:
public String Name{ get; private set; }
But when I tried that in VB.NET I was shocked that it is not supported as mentioned here and I have to write it as follows:
Private _Name as String
Public ReadOnly Property Name as String
Get
[Code].....
What the difference between these declarations in VB.NET, which one is preferred and Why?
Which one will affect compile time, runtime or performance at all?
View 3 Replies
Jan 28, 2010
I am trying to use fluent nhibernate in a MVC project. It seems the entities should have properties that are virtual and the set should be private for IDs. I use vb language. So tried using overrideable. It gives an error...
Public Overridable Property DesignId() As Integer
Get
End Get
Private Set(ByVal value As Integer)
End Set
End Property
It says property cannot be overrideable because it has a private accessor.
View 3 Replies
Mar 3, 2011
So I'm just trying to understand why someone would want to use the shorthand property instantiation
Public Property CarModel As String <-- property
As opposed to
Public CarModel As String <-- variable
View 19 Replies
Sep 22, 2009
is there a way to have the Get part of a property available as public, but keep the set as private?Otherwise I am thinking I need two properties or a property and a method, just figured this would be cleaner.
View 3 Replies
Apr 25, 2009
I just stumbled over this in some C# code...:public Foo Foo { get; private set; }
View 2 Replies
Jul 24, 2010
I'd like to have a Private or Protected "Setter" for a property that also happens to be an abstract (MustOverride). I'm porting some code from C# to VB and in C# this is pretty straight forward. In VB not so much (for me anyway).
Some code...
In C#...
public abstract class BaseClassWithAnAbstractProperty
{
public abstract int AnAbstractIntegerProperty { get; protected set; }
}
[Code]....
The issue seems to be the inability to flesh-out the Get/Set specifics in the declaration.
View 2 Replies
Jan 3, 2010
I'm using VS2008 and have created a dll with the following
Public Class Test
Private privatesampleProperty As String
Public Property SampleProperty() As String
Get
[code]....
From what I can see this should not be visible outside the class...
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
Feb 23, 2009
Can i have a property that is Readonly for Public but can Read/Write in Private?
View 4 Replies
Dec 30, 2009
When referencing class properties from a function within the class do you use the value from the actual property or the private variable value?
public class
private m_Foo as double
public property Foo() as double
[Code].....
View 7 Replies
Jun 7, 2012
I am currently learning vb.net for my new job and I have mixed feelings over public fields. I see many arguments about them hurting the encapsulation. In python, the common practice is to keep things simple and use fields when they are enough. If we want to add logic later, we just refactor them into a property without breaking anything for the client code.In the codebase I am working with I see huge classes containing dozen of properties like:
[Code]...
View 2 Replies
Apr 10, 2011
I was trying to access the following property using Reflection because I don't have the original source code (suppose this was decompiled through Reflector). It seems that something is special about it being "private virtual" or maybe because it has "_" in the beginning of the property. I can access all the other private properties no problem except this one. Just can't figure out what I am doing wrong:
private virtual String _MyProperty
{
get
[code]......
View 5 Replies
Jul 15, 2011
I was trying to access the following property using Reflection because I don't have the original source code (suppose this was decompiled through Reflector). It seems that something is special about it being "private virtual" or maybe because it has "_" in the beginning of the property. I can access all the other private properties no problem except this one.
private virtual String _MyProperty
{
get
{
[code]....
View 2 Replies
Aug 5, 2010
I am getting a weird error when trying to run a certain part of my code.
The error is: Field or Property CharSet is Not Found
The Code Is:
<DllImport("user32.dll", CharSet:=CharSet.Auto, SetLastError:=True)> _
Private Shared Function GetClassName(ByVal hWnd As IntPtr, ByVal lpClassName As StringBuilder, ByVal nMaxCount As Integer) As Integer
End Function
View 11 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 13, 2012
I have an 8 bit digital output board used for device controlling. Each external device needs one bit and is controlled by a different application.I have written a class library and the class DigitalOutputPort (VB 2010) that envelopes the driver that manages the 8 bit port. Each device application uses this class, creating its own instance.
In order to set a bit of the digital output port, I have to write a byte to that port: this byte is the bit mask for all 8 bits together: to set HIGH the bit number 0 - 1 - 2, I have to write 7 on the port, to set HIGH all 8 bits, I have to write 256, and so on...
All works fine when only ONE application uses the class. But if two applications want to set its own bit on that port, I get problems because I do not know the current value of all bits set by other applications (the driver has not such function) and, of course, I cannot change one bit without changing all the other (if I do not know the current bit mask)
Normally this looks like a typical case of sharing data between two application and my first idea was to write the current value of the port in a file on the disc, where all application can access and read it. But it seems to be too much heavy for this simple problem. Moreover it could also creates performance ans reliability problem.
Then I though about using a shared field (property) in the class. A shared field preserves its value between all instances of a class: but is it also true between instances from different applications? I cannot find more info about this last point, I have to make same test.
A third way would be that I create just only ONE instance of the class DigitalOutputPort, one for all applications.The first application that needs it, create the object, all other applications will used the already created object.I like more than other this way, but I do not know if and how it can be done.
View 1 Replies
Jul 7, 2009
I have made a front-end application in Visual Basic .NET that will store data entered by the user in a backend Access 2003 Database. The application has other functionality as well.If the user searchs for a previous record that has been stored in the Access Database, I query the Database (SELECT ... ) using an OLEDB Connection and then display the records on a Datagrid on my Form. Everything is working fine, however, the Column Headings of the Datagrid are the Field Names in my Database (FirstName, LastName,...) rather than Caption Values (First Name, Last Name,... )
I tried looking up the net, but most of the topics addressing a similar problems use DAO, and I understand that it is not completely supported in VB .NET. I am fairly new to VB .NET and I am not quite sure how to address the problem or where I am going wrong. I tried using FirstName.Caption but that gives a Runtime error (One or more parameters missing from the Sentence)
View 6 Replies
Apr 15, 2011
I have an Entity Data Model with two entities in it "Roles" and "Users". There is a navigation property from I have a EntityDataSource and a GridView. The EntityDataSource points to the Users entity and has an Include="Roles" parameter.I've added a BoundField in the GridView that points to RoleName, a property of the entity Roles. However, when I execute the code I get the above error.I have used very similar code successfully in another application. Any ideas why this isn't working?
Here is my EntityDataSource:
<asp:EntityDataSource ID="EntityDataSource1" runat="server"
ConnectionString="name=pbu_checklistEntities"
DefaultContainerName="pbu_checklistEntities" EnableDelete="True"
EnableFlattening="False" EnableUpdate="True" EntitySetName="Users" Include="Role">
</asp:EntityDataSource>
And here is the BoundField:
<asp:BoundField DataField="RoleName" HeaderText="Role" SortExpression="RoleName" />
View 1 Replies
Mar 24, 2011
[code] I get this error Name of field or property being initialized in an object initializer must start with '.' How should I write this? Or is there an alternative way of doing this?
View 2 Replies
May 28, 2012
I've got a custom NumericEditor control that has a nullable Decimal property called Value. When I bind a data field to Value, I'd like to retrieve the underlying Type of the data that's bound, so that I can restrict the use of decimal places if the source field is an integral data type.I figure I'd have to do this in the BindingContextChanged event, but how do I get the Type of the data field from the binding itself? My Google-Fu is failing me at the moment.
In short, I'm looking for something like the GetValueType method mentioned in the following question: Simple databinding - How to handle bound field/property change. Winforms, .Net I imagine this method would also be handy if the Value property was an Object.
View 2 Replies
Nov 15, 2011
My LINQ query is as follows
Dim Query = From t In New XPQuery(Of xUser)(Xpo.Session.DefaultSession)
.Where("Name=John").Select("new (Name as FirstName)")
Unfortunately i get the error No property or field 'John' exists in type 'xUser'.Of course no such property exists in my xUser class, but hot can i fix that?After reading within the DynamicLinq Class i found this function
Function FindPropertyOrField(ByVal type As Type, ByVal memberName As String, ByVal staticAccess As Boolean) As MemberInfo
Dim flags As BindingFlags = BindingFlags.Public Or BindingFlags.DeclaredOnly Or _
If(staticAccess, BindingFlags.Static, BindingFlags.Instance)[code]...
How can i edit my "faulty" query? What am i doing wrong here?
View 2 Replies
Mar 4, 2011
I needed to create an Access table programmatically an was able to by using Martin Xie's post but how can I set the Field1 - Field Property Index to Yes (No Duplicates)?
[code]...
View 3 Replies