Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"Inconsistent accessibility" on class definition

Tags:

c#

wpf

I'm adding some bindable CLR properties to my ongoing WPF application in my App class and I can't compile because of this inconsistent accessibility error.

Inconsistent Accessibility: Property type 'SomeProj.Error' is less accessible than property 'SomeProj.App.LatestError'

To fix this error I had to change class Error to public class Error.

In VB, classes were assumed public and most of the time omitted that access modifier. Is this not the case in C# as well?

I only recently made the vb->c# jump and little nuances like this in the syntax slow me down.

like image 620
TWood Avatar asked Feb 27 '23 01:02

TWood


2 Answers

Things declared outside of a class or struct will default to internal. Things declared inside of a class or struct will default to private. refer http://msdn.microsoft.com/en-us/library/ba0a1yw2(VS.80).aspx

like image 160
sirmak Avatar answered Mar 11 '23 17:03

sirmak


Don't know about vb, but in c# classes defaultly have as restrictive modifiers as possible, which means - they are internal, unless they are nested within another class - in that case they are private.

Here's a complete guide (-:

like image 44
Oren A Avatar answered Mar 11 '23 15:03

Oren A