2016-10-13 9 views
0

私は既存のクラスライブラリプロジェクトで新しいフォームを作成しました。フォームは同じ名前空間を使用します。私は既存のクラスファイルを持っています。新しいフォームのインスタンスを作成することはできません。は、Cで同じプロジェクトの別のクラスファイルにフォームインスタンスを作成できません。

上記のコードは既存のクラスでは機能しませんが、新しいクラスを追加するとうまくいきます。

私は既存のクラスのフォームにアクセスする必要があります。このフォームにアクセスするのを手伝ってください。

エンドへの@レザ - aghaeiは、すでに指摘したように、あなたのエラーは、あなたが(追加するのを忘れているという事実であるかもしれないアドバンス

+3

ここでは**()**: 'Form1 frm = new Form1();' –

+0

"()"という質問には書きませんでしたが、コードで書いています。 IntellisenseはForm1も表示していません。 – Programmer2015

+2

あなたは何のエラーを取得していますか? – Orifjon

答えて

0

のおかげで)あなたのif文:

Form1 frm=new Form1();

+0

いいえ、 "()"についてではありません。 – Programmer2015

0

通常Visual Studioは、フォームがクラスライブラリにある場合のように、何が間違っている可能性があるかを示唆するほどスマートです。おそらくReSharperは、プロジェクトや他のプロジェクトのさまざまな部分の型の不一致を示します。

フォームがクラスライブラリの内部にないことを確認してください。 Form1のクラス定義に表示されます。内部または私的であればそれを公開する。

あなたはそれが、少なくとも公共InternalsVisibleToAttributeクラスを使用してアセンブリを消費することが見えるようにすることはできません何らかの理由の場合:https://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute(v=vs.110).aspx

0

は君たちをありがとうございます。

私はこの潜在的な修正はVS2015のIntelliSenseによって示され

using "Project folder Name"; 

として再びクラスライブラリの参照を追加しました。

これは、コードが任意の参照を追加せずに新しいクラスで正常に動作しているため、コードの奇妙な動作です。しかし、既存のクラスでは参照を追加した後にしか動作しません。

ありがとうございます。

+0

あなたは[this post](http://stackoverflow.com/a/33091146/3110834)が役に立ちます。 –

+0

あなたは 'Ctrl + .'を試しましたか、エラーのある単語の上にマウスを置いてみましたか? –

+0

はい、マウスを動かすと、この修正が表示されていました。画像に示すようにmyフォルダ名を追加しました。今それは正常に動作しています。ありがとうございました。 – Programmer2015

関連する問題