|
I am extreamly sorry..one method can be override by the child class and the other method should not be override the child class...
Please see the correction and sorry for the mistake.
Thanks,
Srinivas Mateti
|
|
|
|
|
Mark the method you want to override as virtual. And do not mark the other.
Like:
public virtual void OverridableMethod();
public void NonOverridableMethod();
It's not necessary to be so stupid, either, but people manage it. - Christian Graus, 2009 AD
|
|
|
|
|
Thanks for the reply...so from your reply what i understood is
1) Virtual methods should be override by the child class,if the child class doest implement the virtual methods then error will shown up.
2) And only virtual methods can be override by the child class non virual methods can not be implemented by child class
One more q:
Can I again declare virtual method as virtual in child class???
Thanks in advance,
Srinivas Mateti
|
|
|
|
|
sris 426 wrote: if the child class doest implement the virtual methods then error will shown up.
No.
sris 426 wrote: And only virtual methods can be override by the child class non virual methods can not be implemented by child class
Correct. Although I assume you mean overridden when you say implement.
sris 426 wrote: Can I again declare virtual method as virtual in child class???
Yes they can.
It's not necessary to be so stupid, either, but people manage it. - Christian Graus, 2009 AD
|
|
|
|
|
To clarify:
sealed - Specifies that a method cannot be overriden.
abstract - Specifies that a method must be implemented in a derived class.
virtual - Specifies that a member may be overriden, but does not have to be.
Note that if your class includes abstract members then the class itself must also be marked as abstract.
http://www.dnzone.com/go?356[^] lists all the permutations of sealed, abstract etc. for c# and vb.Net.
A virtual method will still be virtual in a sub-class of a sub-class unless you mark is as override sealed in the class in the middle, which then stops classes further down the inheitance tree from overriding that method.
A sub-class can always declare additional methods which may or may not be overridable in turn, as you desire.
If you have knowledge, let others light their candles at it.
Margaret Fuller (1810 - 1850)
www.JacksonSoft.co.uk
|
|
|
|
|
Thanks for the reply...
Can I use sealed for methods....? I think I can not use sealed for methods...When declared sealed for methods it gave error...
PLease confirm...
Thanks,
Srinivas Mateti
|
|
|
|
|
As I said, if you mark a method as override sealed in the class in the middle, it then stops classes further down the inheitance tree from overriding that method.
So sealed can be used on a method as shown below.
secondLevelClass cannot override MyMethod when inheriting from subclasstwo, but can if it inherits from subclassone, as you will see from the error if you try to compile the code below.
public class baseclass{
public virtual void MyMethod(){
}
}
public class subclassOne : baseclass{
public override void MyMethod()
{
base.MyMethod();
}
}
public class subclassTwo : baseclass{
public sealed override void MyMethod()
{
base.MyMethod();
}
}
public class secondlevelClass : subclassTwo{
public override void MyMethod()
{
base.MyMethod();
}
}
If you have knowledge, let others light their candles at it.
Margaret Fuller (1810 - 1850)
www.JacksonSoft.co.uk
|
|
|
|
|
Yeah, that's inconsistent. Methods are sealed by default, but you can't specify it unless you're sealing an otherwise virtual method.
|
|
|
|
|
Thanks for the answer..now i am more clear....
Thanks,
Srinivas mateti
|
|
|
|
|
Erhm, by 'the other mothod', do you mean method 2 in the same class?
If you want the method not to be overridable from the class that ionherits your class you may want to take al look at the protected[^] keyword.
|
|
|
|
|
Virtual is the keyword that makes a method overridable. Even a protected virtual method can be overidden in the derived class.
It's not necessary to be so stupid, either, but people manage it. - Christian Graus, 2009 AD
|
|
|
|
|
As others have answered, you can do that. But I wonder why not allow overriding of both methods? Is this homework?
|
|
|
|
|
sir ,
i am working on c# my problem click on combobox then display new form open.
please help me
|
|
|
|
|
Well, what have you tried ? This is pretty trivial, is it for a class ? Surely you have some sort of reference books for your classes ?
I'm not sure what's more astonishing, that you got an answer to this question an hour ago and you're posting it again, that you've been a member for 18 months and can't work this out, or that it looks to me like you're either doing paid work or are well into a comp sci course, and would post this again, with less detail, and be incapable of working it out for yourself, or at least having some code to show us to prove you tried to do something more than ask us to do your work for you.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
You want to open a new form when the combobox is clicked?
Handle the click event and open the new form form there.
It's not necessary to be so stupid, either, but people manage it. - Christian Graus, 2009 AD
|
|
|
|
|
christian graus if u cant help people then dnt criticise them..
|
|
|
|
|
You replied to wrong post.
It's not necessary to be so stupid, either, but people manage it. - Christian Graus, 2009 AD
|
|
|
|
|
foreach (DataRow dr in ds.Tables[0])
{
string colName = dr["a"].ToString();
TreeNode node = treeView1.Find(colName);
if (node == null)
{
node = treeView1.Nodes.Add(colName, colName);
}
node.Nodes.Add(dr["b"].ToString());
}
when runing the code it shows:
"System.Windows.Forms.TreeView" does not contain a "Find" Definition?
can someone help me
very thanks!!@
|
|
|
|
|
|
miss YY wrote: im online waiting!
you are incredibly rude. You waited two minutes and thought you'd demand an answer to a question my 9 year old could have worked out ( he knows how to use google ). If you want instant help, pay for it. Especially when you're too lazy to do any research or think about your code, you have no right to demand an answer from us, certainly not within two minutes.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
And you expect that to get you an answer, thank God your not from India it would have led to so many steriotypes. Read the guidelines at the top of the page, no doubt you have been told this before and ignored it.
|
|
|
|
|
You should read the post on how to ask a question. 'someone who can help me' is hardly descriptive.
The error message means what it says, the tree view does NOT have a Find method. looking at your posts, I wonder if you're copying code at random off the web, and if you have any idea what any of it means. Surely you can use google, read your references, etc, or even use intellisense to work out that there is indeed no find method on a treeview ?
The Nodes property of a TreeView has a Find method. I sure hope this is homework, because no-one should be paying for this code. You should talk to your teacher and let them know that you're confused and incapable of searching the web or reading documentation, so they can make a recommendation about your future viability in this course.
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
It should actually be treeView1.Nodes.Find . When I posted the code sample the other day, I just typed it directly into the editor so there were bound to be mistakes. A bit of logical thought would have told you where the Find method for Nodes would actually be. If you want to continue as a developer, you need to be able to analyse a problem to work out what solutions to problems are likely to be and where you need to look for them.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|
|
Shame on you Pete, YOUR code was broken and now WE needed to fix it so she could pass her class.....
Christian Graus
Driven to the arms of OSX by Vista.
Read my blog to find out how I've worked around bugs in Microsoft tools and frameworks.
|
|
|
|
|
I'm surprised she actually tried it.
"WPF has many lovers. It's a veritable porn star!" - Josh Smith As Braveheart once said, "You can take our freedom but you'll never take our Hobnobs!" - Martin Hughes.
My blog | My articles | MoXAML PowerToys | Onyx
|
|
|
|