Narrowing The Scope Of Sub In Inherited Class?
Apr 5, 2011Below is example code of what I want to do:
Public Class Test
Sub New()
Dim cool As New B
cool.Doit()
[code]....
Below is example code of what I want to do:
Public Class Test
Sub New()
Dim cool As New B
cool.Doit()
[code]....
Suppose I have piece of code like this:
Public Interface ISomething
....
End Interface
[code]....
I suspect I am being very silly here but I have the following setup
Class MustInherit myBaseClass
'some stuff
End Class
Class myInheritedClassA
[code]....
Running this results in the following error
Unhandled Exception: System.InvalidOperationException:
There was an error generating the XML document. --->
System.InvalidOperationException:
[code]....
is there any way of 'Widening' the inherited class to the base class so this would work?
EDIT:regarding XmlInclude(typeof inheritedClass), currently this method could potentially return a number of types of inherited class (i.e myInheritedClassA and myInheritedClassB) is it case of simply having to add each of the inheritedTypes in this tag?
I understand that inherited classes can't be converted from base classes. But is there any way to write a conversion sub, so that the base class gets assigned to MyBase, then extra properties are added?[code]...
View 7 RepliesI'm trying to force an inherited class to use a custom attribute. I'm creating a class library where the user who wants to create an item will do so, but be forced to add an attribute (or visual studio will automatically add the default attribute) to their inherited class. Here is what I'm hoping to achieve:
BaseClass.vb:
<CustomAttribute(10)> _
Public Class BaseClass
End Class
MyClass.vb:
[Code]...
how to declare scope for variables outside their class?
Here's what i have in a class known Create_User:
Public Class Create_User
Public conn As New SqlConnection(My.Settings.HotelConnectionString)
Public usercmd As SqlCommand
[Code]....
How can i increase the scope of these variables to be used in another class? I dont want to keep declaring them again and again.
I want to create a new instance of a class when I click on a button, but I need to interact with members of that class using other controls on the form, so I need the class to have a global scope. I know I could call the new class in formload, but the class creates certain variables that need to be current. If it is done on formload, the variables wouldn't be current, because if the class is created at formload, it would have different info at that time. Surely, there must be a way to create an instance of the myClass from within a sub that is accessible from other subs of the same class.
[Code]...
I am struggling to do what i want with classes at the moment as they are killed off at the end of a method, can somebody let me know how to make the classes live until i tell them to die? so that i can create one and refer to it from another method at another time? For example On form load i create a class Dog.Then later on i want to get info from the Class Dog. But it is no longer instantiated
View 6 Repliesi have a class named fdetails and i do not want any other class to inherit from this classCan i set it to not being inherited by another class. I would like to get the things done in the following 3 languages
View 6 Repliesi have a class named fdetails and i do not want any other class to inherit from this classCan i set it to not being inherited by another class. I would like to get the things done in the following 3 languages
How to make my class NotInheritable but Inheritable from within the library scope (friend)
View 5 Repliesbare with me during this silly example. :-) Let's say I have a class like this:
Public Class Animal
Public iLegs as int32 ' Number of legs
Public bWings as Boolean ' Wings? Yes/No
End Class
And another class that inherits the "Animal" class and adds one more property:
Public Class ScaryAnimal
Inherits Animal
Public iScariness as int32 ' 0-100, how scary is it?
End Class
Now, if I have an instance of "Animal" with some values in it, and I decide I want to cast it to a ScaryAnimal for some reason, how do I do that without having to create a new instance of "ScaryAnimal" and copy each property value?Basically I'm looking for a way to do this, without having to write the lines marked with '*** below:
[Code]...
I have two classes[code]...
How can I modify class1 in a sub in class2?
The program below trhows an error in the line "mTable2 = mTable.Copy". The error is: "Unable to cast object of type 'System.Data.DataTable' to type InherintanceQuestion.InheritedTable". This is because mTables is an instance of the InheritedTable class which inherits a DataTable and mTable is a DataTable. So, is there any way I can create the mTable2 to the mTable.copy to the mTable.
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
[code].....
I'm having trouble with the definition of an inherited generic class. I have two base classes that are defined like this:[code]
View 2 RepliesIs there a way to hide a method of a base class that has been inherited?Lets say the base class has the properties:
x
y
Height
Width
and the method
sub SpecialInstructions()
Now this class is inherited by some classes that either use the SpecialInstructions method or override it. But one class inherits it but cant make use of the method and therefore wants to hide it. I tried shadowing but it still seems that the method is visible ex
Private Shadows Sub SpecialInstructions()
I have a class which inherits a form class, and just recently it's started acting strange. All of the controls on the form are locked, and I don't understand why. I can't edit the properties of any controls, or anything.
View 4 RepliesOnce time, me needed to compile the library with different code inside class which determined with prroject wich inherits this library At first I tried in project declare #const and in library to use condition with #const,
[Code]...
When I transfer my project to a server, I now get this error message. What does it mean and how do I fix it?
Server Error in '/HD' Application.
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'HD._Default'.
Source Error:
Line 1: <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="HD._Default" %>
Line 2:
[Code]....
I am wishing to emulate the auto code generation that happens when you derive from a class, such as Form, and declare the Public Sub New() constructor. When this happens the constructor will auto-generate code like the following:
Public Class MyInheritedForm
Inherits Form
Public Sub New()
[Code].....
I have an issue with FxCop and the warning: Abstract types should not have constructors.This is being displayed for a number of abstract classes (possibly all, I haven't checked). When I look most of them have no new method so I assume it's the complier adding a default one. So to remove it I add a private default constuctor (Private Sub New()), this then means all the inherting classes fail to build with the error: Class 'InheritingClass' has no accessible 'Sub New' and cannot be inherited.This seems odd as FxCop requests no public constructor, but when I remove it the build fails.
View 1 RepliesIs there a way to have a class collection of inherited types be initialized? For example, here is my code:
Public Class CamryCar
Property Name As String = "Camry"
Property Color As String
End Class
Public Class RedCamry
[Code] .....
I prefer this one as I don't have an extra property to deal with. But I can find a way to initialize that that list with objects of RedCamry and BlueCamry. Is it impossible or is there another way to do this?
I am trying to override a property of a subclass of an inherited base class. I've tried to simplify this code as much as possible but am not comfortable enough with my own abilities to simplify anything else without loosing the ability to understand an answer.The property propertyName in the otherClass is currently incorrect. I want to be able to override propertyName in baseClass with the propertyName in otherClass. Is this possible to accomplish?
Public Interface interfaceName
Interface iInterfacePropertyName
Enum enumName
[code].....
[Code]...
Is there an explanation for this limitation? I mean, it's still in the constructor for the object, and the base class constructor is still executed first.
I am making some changes to a fairly old project.It has a DataGrid with an Inherited Class
Public Class CustomDataGridTextBox
Inherits DataGridTextBoxColumn
and a Override Sub Protected Overloads Overrides Sub Paint (.......What it was doing was alternating the Data Grid Line colours New Requirement is to break up some items in the DataGrid By categories So I have added new lines to the data and sorted so they show up ad category headers (Production Stations) And they would like the Category Header to be a different colour and then the alternating line colours to restart.This did not sound too difficult but that has proven a trap Setting the category header is no problem but restarting the alternating colours is Previously the row was determined to be odd or even to set the colour.Now I am intending to use an Integer to define what colour is used but it persists only for that text box.
How can I get it to extend its life so each call can refer to it and update it and set the desired colour?All I need to do is have an integer variable that will hold its value for the next call?
i've finally got round to learning about classes and inheritance, but i'm not sure how to proceed. i have a base class Employee, which is inherited by 2 derived classes. how do i use the same Employee class in both derived classes? obviously if i write a sub new for both of them + declare a new Employee class, they won't be using the same class. heres my Employee class:
[Code]....
I have a class that exposes an auto implemented property Enabled
[Code]...
But If I had not use an auto implemented property and declared my own backing-field as follows this is accessible from the subclass: Private _Enabled as Boolean ---- EDIT ----
The abve line is incorrect - this is not possible, it was in fact Protected in the original code which allowed access from the sub class See @JonSkeet answer ---- EDIT Of course I can just access Enabled from the sub class to work around this but can someone explain why this is the behaviour?
I have a parent class that is also a factory. For example:
Public Class Factory
Public Function clone() as Factory
' Some logic here
[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 am rather new to OOP and I have, what may be, a simple question. I am developing an architecture for a project that includes some object inheritence trees. I have been running into a bunch of narrowing conversion issues (the old 'Unable to cast object of type x to x' error). I understand the limitations of narrowing conversions and why this error exists, but I'm not quite sure how to get around it architecturally. Here is an analogous problem to mine...
[Code]...