Question: 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
> 
> 
>

Answer: 
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)
{
    ....

```
if `Composite` was defined in unreachable/unmodifiable code like `class Composite`, you could try making `buildComposite` as internal. Like 
`internal Composite buildComposite(ComboBox subs, ComboBox bas)`. This way it is still more accessible by making the method *private*.