0

変更したい新しいソリューションに古い(自分のものではない)コードを持ち込みました。私はC#を初めて使用するので、用語が正しくないか、明らかなものを見逃してしまった場合は、お詫び申し上げます。

MainForm.csのメインフォームとPropertyGridを継承するカスタムコンポーネントCustomComponent.csがあります。CustomComponentはMainForm内にあります。

エラーが発生しました:

The type name 'MainNameSpace' does not exist in the type 'MainNameSpace.MainNameSpace'

MainForm.Designer.cs内に、生成されたコードがあります。

/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
    {
        // stuff
        this.customComponent1 = new MainNameSpace.MainNameSpace();
        // more stuff
    }

手動でアクセスして、「new MainNameSpace();」に変更した場合。それはうまく機能します。名前空間の名前が2回追加された理由がわかりません。.resxファイルで疑わしいものがないか確認しようとしましたが、何も表示されませんでした。何を探すべきかわからないということではありません。見るのに良い出発点はありますか?MainForm、CustomComponent、および原因を探すために考えられるその他すべてのことを調べましたが、原因のように見えるものは見つかりませんでした。私がどこを探すべきか/何を探すべきかについてのアイデアはありますか?問題はCustomComponent.csにあるように感じますが、わかりません。

CustomComponent.cs:

namespace MainNameSpace
{
    public partial class MainNameSpace : PropertyGrid
    {
        public MainNameSpace()
        {
            InitializeComponent();
        }

        // other stuff
    }
}

ありがとう!

4

1 に答える 1

1

私は以前にこの問題を抱えていましたが、次の行に問題があると確信しています。

namespace MainNameSpace
{
    public partial class MainNameSpace : PropertyGrid
    {

名前空間とクラスは、どちらを呼び出しているかわからないため、同じ名前にすることはできません。名前空間またはクラス名のいずれかを変更してみてください。うまくいくはずです。

お役に立てれば!

于 2012-09-11T22:03:59.480 に答える