私は3つのクラスを持っています。すべてが同じ名前空間の一部です。これが3つのクラスの基本です。
//FBlock.cs
namespace StubGenerator.PropGenerator
{
class FBlock : IDesignRegionInserts, IFormRegionInserts, IAPIRegionInserts, IConfigurationInserts, ISoapProxyClientInserts, ISoapProxyServiceInserts
{
private List<Property> pProperties;
private List<Method> pMethods;
public FBlock(string aFBlockName)
{
pProperties = new List<Property>();
pMethods = new List<Method>();
}
public Property AddProperty(string aName)
{
Property loProp = new Property(this, aName, pProperties.Count);
pProperties.Add(loProp);
return loProp;
}
public Method AddMethod(string aName)
{
Method loMeth = new Method(this, aName);
pMethods.Add(loMeth);
return loMeth;
}
}
//Method.cs
namespace StubGenerator.PropGenerator
{
class Method : IPropertyName
{
private List<StubGenerator.PropGenerator.PropertyAttribute> pPropertyAttributes;
private string pName;
private string pFBlockName;
public Method(FBlock aFBlock,string aName)
{
pPropertyAttributes = new List<PropertyAttribute>();
pName = aName;
pFBlockName = aFBlock.Name;
}
}
}
//Property.cs
namespace StubGenerator.PropGenerator
{
class Property : StubGenerator.PropGenerator.IPropertyName, StubGenerator.PropGenerator.IDesignRegionInserts, StubGenerator.PropGenerator.IFormRegionInserts, IAPIRegionInserts, IConfigurationInserts, ISoapProxyClientInserts, ISoapProxyServiceInserts
{
private string pName;
private string pExpandedName;
private string pFBlockInitials;
private Group pPropertyGroup;
private FlowLayoutPanel pGroupFlowPanel;
private Button pUpdateButton;
private CheckBox pShowProperty;
private string pFBlockName;
public Property(FBlock aFBlock, string aName, int aIndex)
{
pPropertyAttributes = new List<PropertyAttribute>();
pFBlockName = aFBlock.FBlockName;
ExpandName();
GetInitials();
pShowProperty = new CheckBox(this, 10, (aIndex + 1) * 20, aIndex);
pPropertyGroup = new Group(this);
pGroupFlowPanel = new FlowLayoutPanel(this);
pUpdateButton = new Button(this, 10, 18, aIndex);
}
}
}
次のエラーが表示されます
'StubGenerator.PropGenerator.Method' は、保護レベルが原因でアクセスできません
FBlock.cs ファイルの次の行を参照します。
private List<Method> pMethods;
と
'StubGenerator.PropGenerator.Method' は、保護レベルが原因でアクセスできません
FBlock.cs ファイルの次の行を参照します。
public Method AddMethod(string aName)
と
一貫性のないアクセシビリティ: 戻り値の型 'StubGenerator.PropGenerator.Method' は、メソッド 'StubGenerator.PropGenerator.FBlock.AddMethod(string)' よりもアクセスしにくいです
FBlock.cs ファイルの次の行を参照します。
public Method AddMethod(string aName)
クラス Method を public にしても、エラーは解決されません。Property クラスを呼び出すときにエラーが発生しない理由がわかりません。Method クラスを公開しても問題が解決しない理由がわかりません。
何か案は?
質問するように編集しました。これを引き起こすファイルの設定はありますか?