I have a For Each block loops through a list of objects, the objects are all instances of a single custom class I have made which has multiple properties.The logic used in this block uses a property of the custom class to do a set action, is it possible to dynamically supply which property it uses in the logic? This will be more efficient and prevent me from having to create this logic over for each property of the custom class.My best guess was that maybe it is possible with reflection, however my searches into reflection have left me more confused.
I've been programming in VB.net for a while off and on, but never really had a need to use custom classes till now.I built a function in a module to populate a class, The class how ever is supposed to refer to one instance.I need to create an array of this class but the amount of instances needed is not always known.Works fine till the class goes to populate the class array.[code]It's probably something simple, I've just starred at it to long. Keep gettitng "Object reference not set to an instance of an object."
I'm trying to add validation to one of my class properties:[code]The value for the golfer's handicap comes from a oombo box on the form. Even if I have nothing set for this property at runtime, my validation doesn't work. I tried putting the If statement under Get instead of Set, and tried mHandicap = value after an Else in the If statement, but nothing seems to work. I'm working in the dark here and can't find anything suitable online. I was hoping to not go down the path of ReadOnly or WriteOnly properties as I'm not at that stage yet, but does this make a difference for my purposes here? Can anyone guide me as to what I'd need to do from this point? If I've got it right, you can add validation in the class and this means that you then don't need to repeat this validation in the form??
I am trying to create a settings class.The Property Test() is a list of strings.When I add a string such as: t.test.Add("asasasAAAAA")I want it to autmatically turn lowercase. using t.test.Add(("asasasAAAAA").ToLower) will not work for what I need. [code]
I am trying to use a custom colour scheme for painting my menustrips, toolstrips etc. To do this, I am implementing a custom ToolStripProfessionalRenderer.
Normally i would simply set the renderer of each toolstrip etc. to a new instance of a ToolStripProfessionalRenderer instantaniated with a custom ColorTable i.e.
Dim myRenderer As ToolStripProfessionalRenderer = New ToolStripProfessionalRenderer(New MyColorTable)
If we say blue is the default colour of the Backcolor property I understand it as if you don't specify a colour for Backcolor blue will be its colour. But I could not make sense of default property of a class in the context of building a custom user control. After calling an instance of a class we have to either call one of its members or assign an other object for it. Therefore why should there be a default property?
I have several custom classes in a VB.NET (VS2008) project which are related to each other through generic list collections. The lower tier classes refer directly to some of the parent classes (to make it easier to refer backwards up the chain). My question is, is it possible to add the reference to the parent class when the item is added to a collection, when that collection is a property?
Below is some sampling of code to illustrate. Public Class FlexServer Private m_FlexLicenses As List(Of FlexLicense) Private m_Modules As List(Of FlexModule) Public Property FlexLicenses() As List(Of FlexLicense) [code] .....
In the code above I have the FlexServer class which refers has two lists as properties, one for FlexLicense and one for Modules. The FlexLicense class has a property to refer back to the FlexServer class that "owns" it. In order to update this property in code, I have to add the FlexLicense to the FlexServer.FlexLicenses list AND set the FlexLicense.FlexServer property. What I am looking for is, is there a way (in the property definition or wherever) to both add the item to the list and alter it at the same time?
Is it possible to create a user control with a list of custom class type property? If it is, how can I? The issue is that, in designer mode the property is not displayed in property window. I can add the list on markup but when i switch to the designer mode it gives an error which is 'The user control does not have a public property named BookList'.
I want to create a custom class that has inside an array of another custom class (see my code below) but when the programm runs is crashes. Why? What is the right expression???? Plz help I'm a newbie in VB.net.....
Public Class ctrarray Public nameclass As String Public ctrlindex(glvar_spaces) As ctrlindexclass End Class
I have an ASPX Custom Control which is supposed to load it's properties into an internal collection (defined with PersistenceMode.InnerProperty). Here's the ASPX
I have a problem with a property on a custom property of a class. Here is the actual code for the inherited form
Public Class Form : Inherits System.Windows.Forms.Form Private _Active_Application As Custom.Classes.Active_Application = New Custom.Classes.Active_Application <System.ComponentModel.EditorBrowsable(ComponentModel.EditorBrowsableState.Always)> _ Public Property Active_Application() As Custom.Active_Application
[code]....
but when i use a separate class to inherit the above class this property ('Active_Application', not Custom.Classes.Active_Applicaton) is disabled.
Below you will find a code sample that I have dummied up to try and demonstrate the issue I am having. However, this is just a dummied up piece of code. The actual program has noting to do with STUDENTS or TEACHERS. Basically, the problem I'm having is trying to have a CLASS within another CLASS each of which contain ARRAYS that need to be dynamic in size. The sample has a CLASS called STUDENTS that can have in theory many students, the number of which are unknown to the CLASS. I need to be able to add STUDENTS to the ARRAY programmatically.
The CLASSROOM Class should also be an Array since each TEACHER will have MANY Students. There will be only 1 Teacher for a given classroom but the SCHOOL will have MANY CLASSROOMS. Again, I need to programmatically add Teachers and Students without having predefined Array sizes. The code I have listed below will NOT work but it demonstrates what I am trying to achieve. I want to be able to reference the CLASS by using something like this ...
I feel like I should be able to use ARRAYLIST in both classes but haven't been able to get it to work. I've tried DIM'ing as ARRAY and can't get that to work either.If I can get ARRAYLIST to work then I shouldn't need to worry about expanding the array via UBOUND (if it's even possible).The REAL question is "How do I have a CLASS within a CLASS, each of which has ARRAYS that need to be dynamic in nature so they can be expanded as needed? The size of the array cannot be determined ahead of time".
REMEMBER . . . the actual program has nothing to do with Students and Teachers. This was just my way of demonstrating the issue using an analogy that I thought everyone could understand. The actual Class is much more involved.I have purposely hardcoded some values just to make the sample easier to work with. This is NOT how I normally program but is just here to hopefully make things a little more clear.
Here is the sample code . . . '*********************************************************************************** '*********************************************************************************** '***********************************************************************************
'Here is the code that is in the form - This obviously doesn't work
Private Sub TeacherTestDemo() Dim iTeacherIndex As Byte Dim iStudentIndex As Byte
I have a very simple class that holds a few public properties - ID, Text, Colour, etc. and a Boolean called 'SelectedItem'. Just like the Checked property on RadioButtons, only one item can have its SelectedItem property set to True within a particular group. Note: there will be several separate groups (lists), each allowed to have only one item with SelectedItem = True.
My first thought was that I would probably just have to handle everything outside of the class, setting SelectedItem to False for every other item in a particular list when another item was selected. But that seems rather inelegant to me. So I've been trying to think of how this might be done within the class. For example: could I perhaps have a private string property called say "GroupName" - set in the New sub when adding a new instance of the class - and then use a private shared method to set every item's SelectedItem property to False, provided the item has the same GroupName as the newly selected item? I would have a go at doing this but I have no idea how to enumerate every instance of a class from within that class, or whether that's even possible. Is it? Or is there another (better) way to achieve my goal? Here is a cut-down version of what I've got so far:
Public Class ResourceItem Public ID As Integer Public Text As String[code]....
As can be seen: instead of instantiating a new ResourceItem and passing that as an argument to the manager's Add procedure, I'm simply passing the details of the new item and the procedure is creating the item from those. I don't know whether this is a good or bad idea - please advise - but I've done it because I couldn't figure out how to make the SelectedItem property only writeable by the manager, so I wanted to avoid having directly accessible objects that could have their SelectedItem property set to True without it deselecting all the other items in the same group. Of course that still leaves the possibility of setting a variable to one of the manager's list items and setting it from there, so I would still like to know how I could prevent that, if possible.
UPDATE: I didn't use the code above in the end, deciding instead to go with Cyborgx37's solution - which seems to work perfectly well for me despite the warnings about best practice. I also realised I would need to use the same class in another scenario where multiple items could be selected, so it was easy to add a Boolean property to the manager to enable that.
I'm making a custom class that mocks the System.Drawing.Rectangle class because the Rectangle class doesn't have a name property. I need a name property because I am adding all of my rectangles to a collection and I need a little more info stored than just their locale and size. So I changed the _onPaint event but nothing is working out when I run the program?
Public Class Rectanglar : Inherits UserControl Public BackgroundColor As Color = Color.Blue Public Sub New(ByVal name As String, ByVal XY As Point, ByVal Widthy As Integer, ByVal Heighty As Integer)
Public Class MyColorsClass 'Constructors Public Sub New() 'Empty Constructor
[code]....
However, if the empty constructor was called to instatiate this class then the colortype is not yet set. Therefore, if one accesses the 'IsColorCool' property it will always return 'False'. Now for the sake of this example, I must keep the empty constructor as part of the class.Now I could add some code in the 'IsPropertyCool' to check and see if a ColorType has been defined, and throw an exception if it has not been set, but I don't really want to do that.I also could always move the logic OUT of the property and into a method on the class called 'DefineIfColorIsCool' or something, and make the owness on the caller to make sure the method was called if they want to use the property 'IsColorCool'?
Public Class airplane Private var_num_seats As Integer Private var_num_engines As Integer
[code]....
Obviously, I don't wish that the class Glider has the method "start_engines" neither the property "num_engines". Otherwise, other child classes may have. How can I supress these property and method in child class, not just ignoring (if I can)?
I have procedure (Import) that calls a for a new instance of frmImportData. I also have a class name clsBatch that has a data table property called prpParametersTable.For some reason, I get an error (indicated below with ERROR>>>) when trying to assign prpParameterTable to cv_dtImport2. The error states "Object reference not set to an instance of an object.". Why does this error not happen when I assign dtBP to cv_dtImport1? Both cv_dtImport1 and cv_dtImport2 are equal to Nothing and in my Import procedure dtBP = prpParametersTable.
Public Sub Import(ByVal clsB As clsBatch) Try Me.cv_clsB = clsB
I have three class files, accounts.vb and transactions.vb in addition to my form.vb. I am unable to retrieve a member variable from on class from inside the other. When the combobox index changes, the program loads the correct account (checking or saving) from two different sequential files. I don't think I have the calcBalance procedure in the correct class file. And that is what I am having trouble with. Accessing it to display it. [Code]
i am struggling with something quite elementary and simple. I am creating 200 dynamic textboxes with the following code :
[Code]...
Now, I need to restrict the user to type a maximum of 5 characters inside. The MaxLength property is supposed to help me with that, but the user is still allowed to type more than five characters!Later on, after I have crossed this bridge, I'll need to allow a minimum of five as well - so that the user will always be able to enter only five characters inside each textbox. Another problem in the future will be to allow only numeric digits. These are product codes, whic are always numeric, and always 5 characters in length
This is a bit of a continuation from a previous post for which AtmaWeapon was very informative.
Problem: A parent class has a sub class with various properties. A property of the parent class is a List(of T) with T = the sub class The issue is how to store data in the sub class of the instantiated parent
Some example code (hopefully formatted correctly):
Code: '=========== Class Definitions ============= Public Class courseClass Public Class timeTableClass
I'm looking for a tutorial on how to Adding a list(of Class) or Collection as another Class's Property.What I am after is something like the Columns Collection for the DatagridView control.I would like to add Items in the graphics screen. Where the item list is displayed in the left panel and the selected Item properties are displayed in the right panel.
I am using VB 2008 Express edition.I have created a user control that has an enumerated property like:Public
[Code]...
There are 3 alternatives for this property: Member0, Member1 and Member2.Is it possible to change the alternative values of this property in runtime dynamically?
I have a DevExpress GridView whose cells are painted with a random color based on some condition. Now each color has a meaning and I want to show it as a legend. Number of colors used for each condition may vary.How can I do this. I'm using DevExpress 2009 Vol2, and .Net framework - 2.0 and WinForms?
I have a class that has the following property that is generated by the methods in the constructor.
Public Class clsLoadTables Private _ds As New DataSet Public Property ds() As DataSet Get
[CODE]........................
My problem is that I do not want to inherit this class, but I have other classes that need to access the ds DataSet property. If at all possible I would like to not use inheritance and not load my datatable more than once in the program.
Here is my failed attempt to access the property inside another class that is not inheriting clsLoadTables:
[CODE].........................
How I can access this dataset that I want to load only once in the program from many classes without using class inheritance or a global module?
I know that an interface can contain another interface within it.But;can a class contain another class within it?Can an interface contain another interface within it?
I currently have a XML file for an application I am developing. I have built a a XMLFile.GetContent function to read my XML File and load the content into a set of specific objects. These objects are then added to a collection and passed back to the main code to be loaded into the memory of the application.I am looking for a dynamic way of loading the information from the XML file into a specific Object Property. I have added comments to the function to show what I want to make dynamic.Content of XML File