How Variables Declared With Protected Access In A Base Class Are Used To Implement Inheritance
Jul 29, 2010how variables declared with protected access in a base class are used to implement inheritance.
View 1 Replieshow variables declared with protected access in a base class are used to implement inheritance.
View 1 RepliesBackground:I have a base class and several inherited derived classes. The derived classes don't always need to have the same properties. If any properties are shared among the derived classes, those properties would live at the base class level ('Contents', for example).Similarly, GoodDocument below has 'GoodThings' but would not want/need to have 'BadThings'.I want to treat instances of both 'GoodDocument' and 'BadDocument' as type 'Document'
public mustinherit class Document
public property Contents as string
public sub new()...
[code]....
In re-engineering a windows forms application, I find that a lot of code-behind in the various form classes is duplicative and I'm trying to centralize as many procedures as possible into a base class which can be inherited and used by the subclassed forms.
This process seems to be going well and is making the code in my subclasses much simpler and hopefully easier to maintain, but I'm not sure where to draw the line between leaving code in the subclasses and engineering for generic resusability and moving it to the base class.
Specifically, in some subclasses I have code which manipulates variables and objects specific to the subclass, and although I could move the code-behind into the base class, the base class code references specific objects which are needed to compile. For example, each subclass manipulates a databound datagridview and form detail controls which allows the user to select between multi-record and detailed single-record views of a datatable.
In Visual Basic 2008 do I need to declare dummy data objects in the base class so that the base class will compile? Or is there a way to indicate that the data objects will be provided by the subclass?
I have put this code in the global form Inherits System.Windows.Forms.Form. And then in the form that will inherit this from the global Inherits MenuStrip. "MenuStrip" is what the global form is called. But keep getting this error: Error1Base class 'MenuStrip' specified for class 'Lesson2' cannot be different from the base class 'System.Windows.Forms.Form' of one of its other partial types.
View 5 RepliesSuppose I have piece of code like this:
Public Interface ISomething
....
End Interface
[code]....
I'm trying to create a generic Controller Class for generic events. But these these events still need to access their class variable. So my idea is to create the Base Controller Class with a ModelBaseclass variable as _ClassVar, which is inherited by all of the other class Controller classes will derive from. But I want the derived controller classes to override the _ClassVar with whichever one they need.
I want to do this, so the ControllerBaseClass can have all the generic functions that all the Derived Classes would use.
Model :
Public Class ModelBaseClass
Public Overridable Function Foo() As String
Return "Name"
[Code].....
I placed this checkbox named owner on my form. When i build the project i got the error as
Quote: 'owner' conflicts with property 'owner' in the base class 'Form' and should be declared 'Shadows'
[Code]...
I am converting an application from vb.net 2003 to 2005. I got the following warning and need help how to resolve it. withEvents variable 'PreviousPage' conflicts with property 'PreviousPage' in the base class 'Page' and should be declared 'Shadows'
View 1 RepliesYesterday I started my first DLL project which is for ArabicMessageBox that will allow arabic programmers to display there message in totally Arabic message.My project contain one Form only, and the basic code that I use is:
Public Overridable Function Show(ByVal APrompt As String) As MsgBoxResult
mLoad(APrompt, MsgBoxStyle.OkOnly, "")
Me.ShowDialog()
[code]....
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...
How do I access the base class inside a derived class?
View 1 RepliesWhy is it that some components/controls will not be inherited visually in a child form if they are declared with the access modifier Friend vs when they are declared with Protected. For example, I've got a DataSet object in my Parent Form that was initially "Friend" (I drag and dropped it to the form, so it was shown as a control in the designer view), but I noticed that my Child Form did not inherit the control as expected. Once I changed it to "Protected", it showed up in my Child form as expected.I am aware that Protected allows the Child Form to modify the inherited control, but how exactly does this tie in to the issue I described above?
View 1 RepliesWhat does this error mean? I havent modified anything in the designer code, but its giving me an error? WithEvents variable 'Move' conflicts with event 'Move' in the base class 'Control' and should be declared 'Shadows'. The error relates to Friend WithEvents Move As System.Windows.Forms.DataGridViewCheckBoxColumn
View 1 RepliesDim box As MultiTextBox = New MultiTextBox
Dim i As Integer
for i = 1 to 3 Step 1
lengthWidthHeight = MultiTextBox.GetItemValues()
Next i
This excerpt of code is using the NXOpen API. In the NXOpen API, the MultiTextBox class is public. However, when I compile the code I get the message:
'NXOpen.UIStyler.MultiTextBox.Protected Sub New(ptr As System.IntPtr)' is not accessible >in this context because it is 'Protected'
My question is, how am I getting an error about protected scope? Could it also be that the API documentation is incorrect?
I have a library of graphical controls used to display values from a remote device. The controls are typically graphical objects such as a digital meter, analog meter, vertical bar, etc. I first create these controls with a value property. The control will display the value property, e.g. the meter needle will move to the position representing the value.
The next thing I do is to create a new control that inherits the previous discussed control. The new control adds properties that allows the value to be set from values retreived through a communication component. My code that does this is 99% the same for all of the controls. Since I already inherit the graphical control, I can not inherit the class that retreives the values from the communication component.
[Code]....
I would like to build a base class for my SQL Data Access Layer. I have most of it based out, but have a question about how to handle errors within the base class. I have a method for ExecuteNonQuery, ExecuteReader, ect...
[Code]...
OK I have a base query that is returning a list (ObjectQuery, actually but I don't think it matters) I have about 5 subtypes based on the main type and I need to filter them. Everything works fine until I want the results to be of the main type (not a subclass) Basically I have a query that includes everything, then I filter out the types that are not checked in a checkedbox list. (asp.net) Lets say I have an Entity named Task, and SubTask1 and SubTask2 that inherit from Task
[Code]...
I m new to vb.net need some ideas about how to implement inheritance concepts in vb.net
View 1 RepliesCan any one explain the usage of interfaces to implement multiple inheritance in VB.NET.
View 6 RepliesI've now properly started implementing OO into my system (which I probably should have done from the start) but I just want to clear some best practices.So let's say I have a class called Job which contains information such as Description, Project Manager (Employee class), Value etc. at the moment, if I initialise the Job class it will initialise all the information held within it, even if I only want the job description. Is it best practice to do this or is it better to implement the class and access the database for values as and when they're needed? Or is it just better in those cases to just access the database directly?
View 1 RepliesI am making a small application in which i have added a class module and a window forms in vb.net. i want to acess the shared variables and mathods of class without making any object.
View 8 RepliesI have been charged with porting a VB6 project into VB.NET. In vb6, if you were in a class separate to a particular variable, you could access that variable easily:
Public Class Foo
Public k As Integer
End Class
Public Class Bar
k = 12
End Class
In VB.NET, my understanding is that before you can use a variable in another class, you must declare a new instance of it:
Dim foobar As New Foo
This would be fine, but I have to access these variables from different classes and every time I declare a new instance, it wipes all old values from the variables, which I need. I tried using Inherits statements but they presented many problems.
Is it possible to call a protected method via reflection. I am using this:
Me.GetType.InvokeMember(Stages(CurrentStage),
Reflection.BindingFlags.InvokeMethod,
Nothing,
Me,
Nothing)
Which always calls a method with no params or return. The idea is that the user of my object (transactional processing of business logic) inherits the base class adds in a load of private methods to fire. They then add these method names to a list in the order they would like them fired and the code above will take care of firing them.
It works fine with public methods but not with private or protected methods in the same class (Protected because I have some 'standard' pre built methods to add to the base class). Realistically I could make the methods public and be done with it but my inner nerd wont allow me to do so...
I am assuming this is a security feature. Is there a way to get around this or does anyone have any suggestions on how to proceed but keep my tasty, tasty visibility modifiers in tact?
(NOTE: ITS IN VB.NET but a C# Answer is fine if that is what you are comfortable with).
When I do this
Public Class cInherits : Inherits Panel
I get this: Base class 'System.Windows.Forms.Panel' specified for class 'MenuButton' cannot be different from the base class 'System.Windows.Forms.UserControl' of one of its other partial types.
How do I inherit?
I can't make difference between public class and private class and friend and protected friend class.
View 1 RepliesI have a simple table in an access database that I'm using in a VS2010 project. I have a combobox control that a user can select the horse power of a motor. I then take that selected value from the control and copy it to a string variable called gstrSelectedHP. All I want to do is run a query that will pull up the full load amps of that horse power motor from the table. I have the query already, but I need to somehow put the gstrSelectedHP in the WHERE part of the query so that it only returns that value.
View 14 RepliesRecently started swicthing our project from 1.1 to 2.0 framework:
getting lot of errors:
Saying VBNullString is not declared
If ScanString <> vbNullString Then
Stored = ScanString
End If
[Code]....
I have a list of variables that are being created on one line.
Dim strFirstname, strMiddleName, strLastName As String
Is it possible to set the values for all of them at once? I know this doesn't work, but this is what I'm trying to do :
Dim strFirstname, strMiddleName, strLastName As String = ""
I have the following code and i do no know why the program tells me that the variables are not declared.
[Code]...
i have a class call it clsFamily this class contains properties that make up a family object. This class works fine with no issues. Now i need a new class (called MyAccount) which contains 3 properties, an ID a user name and a clsFamily object. I have declared both classes as Friend from within my globals Module and define the clsFamily as family, however when i try to put this type within my 2nd class i get an error "Type 'family' is not defined" what am i doing wrong? i know i could get it to work fine by adding the ID and User Name properties to the clsFamily object but i need to define this as a new type of object as the ID and User name are not normally part of this class.
View 12 Replies