• 締切済み

C# アクセシビリティ 一貫性がありません

H240S18B73の回答

回答No.1

classがpubicならコンストラクタもpublic classがinternalならコンストラクタもinternal classを修飾子なしで宣言したらinternal private < internal < public internalはおなじアセンブリでまとめられた プログラムからは呼び出せるけど アセンブリを読み込んだプログラムからは呼び出せない

satisfied999
質問者

お礼

private < internal < public ですね。覚えておきます。

関連するQ&A

  • C#で自分が作ったDLLがちゃんと動くのか検証は?

    C#で自分が作ったDLLがちゃんと動くのか検証をしたいのですが・・・ 毎回ビルドをして動かして試しています。。。効率も悪いしなんせどこでエラーになっているかわからなくて困っています。 インストーラーで動かしてみるとどこか不具合がありエラーだよなんて表示されます。 原因はどのように調べればいいのでしょうか? ここのDLLを参考にしています。 http://dobon.net/vb/dotnet/deployment/customaction.html#installer

  • Form1からForm2へ情報の受け渡し C#

    http://dobon.net/vb/dotnet/form/accessanotherformdata.html 上記のHPを参考に、 メインクラスのForm1のtextboxにForm2から情報を代入したいのですがうまくいきません。 Form1.Form1Instance = this; のthisがエラーが出てしまいます。 「”namespace.Form2”を型”namespace.Form1”に暗黙的に変換できません」というのがエラーメッセージです。 文法には違いはないと思うのですが、何が原因として考えられますか? そのほか、気になった点としては、クラスが知らぬうちにpartialで作られていました。調べたところクラスの分割という意味のようですがこれが原因になりえますか?

  • c# なぜ警告が出るのか、教えて下さい

    http://dobon.net/vb/dotnet/internet/downloadfile.html の「同期的にファイルをダウンロードし保存する」の例文、 System.Net.WebClient wc = new System.Net.WebClient(); wc.DownloadFile(jczurl, @"c:\test.xml"); wc.Dispose(); を書くと、 1行目「System.Net.WebClient wc」の「wc」は「';' が必要です。」と怒られ、 2行目「jczurl, @"c:\test.xml"」の@の次の「"」は「無効な文字です。」と怒られてしまいます。 無知ですみませんが、理由を教えて下さい。 宜しくお願い致します。

  • C# イベントハンドラについて

    http://bbs.wankuma.com/index.cgi?mode=al2&namber=70546 ここで紹介されているソースをさんこうにしていたのですが、 public event EventHandler TextBox1Changed; が果たしている役割がよくわかりません。 これは何のためにあるのでしょうか? たとえば、 http://dobon.net/vb/dotnet/vb2cs/event.html コチラのサイトでは、 public event EventHandler Time; と System.Threading.Thread.Sleep(5000); if (Time != null) { Time(this, EventArgs.Empty); } のように書かれていますが、いきなりif (Time != null)を記述してエラーがでないということは、Cのプロトタイプ宣言のような機能を有しているのでしょうか? また、この例ではなにもしないので具体的な使い方もみえてこず、この次の例はすでに理解を超えていてさっぱりわかりません。 イベントハンドラはいったいどのような役割を担っているのでしょうか?

  • 【C#】ftpからのファイルダウンロード

    よろしくお願いいたします。 C#にてftpサイトにあるファイルをダウンロードするコンソールアプリを作成しています。 下記のサイトを参考にしたところ、デバッグではうまくいくのですが、ビルドしたプログラムを実行するとFtpWebRequest.GetResponseの部分でタイムアウトが発生してしまいます。 参考サイト:https://dobon.net/vb/dotnet/internet/ftpwebrequest.html#downloadfile 解決法をご教授いただきたく、質問させていただきます。 よろしくお願いいたします。

  • DataGridのセルをTextBoxで編集する

    VB.NET(2003)初心者です。 DataGridにTextBoxを作成する方法を探してます。 下記サイトのコンボボックスで実現しているものは、 http://dobon.net/vb/dotnet/datagrid/datagridcombobox.html​ 見つけられたのですが、この内容を修正してコンボボックスから、 TextBoxへ置き換えたいのですが、どのように修正して良いものか悩んでおります。 大変恐縮ですが、御教授の程お願い致します。

  • djUnit コンストラクタがprivateでテストが行えない

    djUnit コンストラクタがprivateでテストが行えない djUnitを使っております。 テスト対象のメソッドにアクセスしてテストを行いたいのですが、 どうもそれができません。 理由としては、コンストラクタがprivateになっているから?です。 (「コンストラクター TestManager() は不可視です」というエラーが出ます。) コンストラクタのprivateを消せば、テスト対象のメソッドにアクセスできるのですが、 実際には消してテストをしてはだめということになっています。 コンストラクタがprivateでもdjUnitでテストが行える方法がございましたら、 書き方をご教授いただけないでしょうか? どうかよろしくお願いいたします。 一応下記が詳細です。 (クラス名、コンストラクタ名、メソッド名) ------------------------ [クラス] public final class TestManager [コンストラクタ] private TestManager() { } [テスト対象のメソッド] public Structure testCreate(byte[], byte[], byte[]) ----------------------- 色々試したのですが、途中で終了してしまって 目的のテスト対象のメソッドを実行するところまで辿りつけません・・・。 [お試しパターン1] Class c = TestManager.class; Constructor[] con = c.getDeclaredConstructors(); TestManager conIns = (TestManager)con[0].newInstance(); //ここで処理が終了してしまう [お試しパターン2] Class testClass = Class.forName("TestManager"); //ここで処理が終了してしまう Constructor[] TestManager = testClass.getDeclaredConstructors(); TestManager[0].setAccessible(true); Object conIns = TestManager[0].newInstance((Object[])null); TestManager test = (TestManager)conIns;

    • ベストアンサー
    • Java
  • アクセス修飾子

    アクセス修飾子 が理解できません。 ヘルプやインターネットで調べると下記のようにかかれています。 public 『アクセスの制限はありません。 』 protected 『アクセスは、コンテナ クラス、またはコンテナ クラスから派生した型に制限されます。 』 internal 『アクセスは現在のプロジェクトに制限されます。 』 protected internal 『アクセスは、現在のプロジェクト、またはコンテナ クラスから派生した型に制限されます。 』 private 『アクセスはコンテナ型に制限されます。』 public 、private は理解できるのですが、protected 、internal が理解できません。 Javaだとprotectedは同じパッケージ内、サブクラスでアクセス可能とかかれています。 .NETも同じでしょうか? 同じパッケージ内?ってどういうこと?となっています。 1つのオブジェクト内に2つのクラスを作成し、 クラスAのメソッドに protectedで作成し 、クラスBでクラスAの宣言をしたらAのprotectedのメソッドは使用できません。どういう場合にprotectedのメソッドは使用できるのでしょうか?

  • コントロール配列の多次元配列

    http://dobon.net/vb/dotnet/control/buttonarray.html のサイト内の、「"特定の名前" + "1から連続する数字"」という名前を持つコントロールを配列にするメソッドを使用してのコントロール配列の多次元配列の方法はどのようにすれば良いでしょう?今現在調べている最中ですがよくわかりません。よろしくお願いいたします。

  • VB2008でコマンド実行

    VB2008のフォームからボタンをクリックして、DOSコマンドを実行したいのですが うまくいきません。 http://dobon.net/vb/dotnet/process/standardoutput.html にあるサンプルをそのまま貼り付けて実行したら Console.WriteLine(results)の実行結果が空白になります。 Debugで見ると BasePriority = {"プロセスは終了しているため、要求された情報は利用できません。"} という表示があるのですが、このサイトのコメントでは、出来ると書いてあるので何が 悪いのか分かりません。 分かる方がいらっしゃったら教えてください。お願いします。