Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

If a partial class inherits from a class then all other partial classes with the same name should also inherit the same base class?

I have a class in Model in my MVC project like this.

public partial class Manager : Employee {     public string Name {get;set;}     public int Age {get;set;} } 

And this class I have in App_Code folder in the same project. Now I want to know whether my this class is also need to get inherit from the Employee class or Not?

public partial class Manager  {     public void SaveEmployee(); } 

I have to do this because my client want me to move all the methods in App_Code folder which are dealing with database.

And yes both these classes are sharing the same namespace.

like image 962
Jitender Kumar Avatar asked Feb 15 '14 06:02

Jitender Kumar


People also ask

Can you inherit a partial class?

Inheritance cannot be applied to partial classes.

Can partial class have same method name?

It doesn't compile as you can't have two methods with the same name in one class.

Do partial classes have to be in same namespace?

Rules for Partial ClassesAll the partial class definitions must be in the same assembly and namespace. All the parts must have the same accessibility like public or private, etc. If any part is declared abstract, sealed or base type then the whole class is declared of the same type.

What does it mean when a class inherits from another class?

Definitions: A class that is derived from another class is called a subclass (also a derived class, extended class, or child class). The class from which the subclass is derived is called a superclass (also a base class or a parent class).


1 Answers

That's a single class defined across multiple declarations, not two different classes. You only need to define the inheritance model in a single declaration, e.g.:

public class Foo { }  //Bar extends Foo public partial class Bar : Foo { }  public partial class Bar {  } 

However, if you were to try the following, you'd generate a compiler error of "Partial declarations of 'Bar' must not specify different base classes":

public class Foo { }  public partial class Bar : Foo { }  public partial class Bar : object {  } 
like image 79
Preston Guillot Avatar answered Oct 23 '22 23:10

Preston Guillot