Error 1 Inconsistent accessibility: return type is less accessible than method

access-modifiers, c#, winforms

Solution

Your `Composite` class is not `public`. You can't return a non-public type from a public method.

If you don't specify an accessibility for a non-nested class then `internal` is used by default. Add `public` to your `Composite` class definition:

public class Composite
{
    ...

Alternatively, if `buildComposite` doesn't need to be `public` (meaning it's only used internally by the form), then you could make the method `private` or `internal` as well:

private Composite buildComposite(ComboBox subs, ComboBox bas)
{
    ....

Problem

When I'm building, VS show error. This is my code: ``` public Composite buildComposite(ComboBox subs, ComboBox bas) { int count = 0; Composite a = new Composite(); if (subs.SelectedItem != null) { foreach (Substance d in listSubstance) { if (String.Compare(d.notation, subs.Text) == 0) { count++; a.subs = new Substance(d); break; } } } if (bas.SelectedItem != null) { foreach (Base g in listBase) { if (String.Compare(g.notation, bas.Text) == 0) { count++; a.bas = new Base(g); break; } } } if (count > 0) { a.equilibrium(); a.settypesubs(arrayDefinition); return a; } else return null; } ``` This is my error: Error 1 Inconsistent accessibility: return type 'Project_HGHTM9.Composite' is less accessible than method 'Project_HGHTM9.Form1.buildComposite(System.Windows.Forms.ComboBox, System.Windows.Forms.ComboBox)' c:\users\nguyen\documents\visual studio 2013\Projects\Project_HGHTM9\Project_HGHTM9\Form1.cs 172 26 Project_HGHTM9

Original source

Related problems