読者です 読者をやめる 読者になる 読者になる

FOR SE

文系の学部から新卒でメーカー系のSIerに就職。技術・スキルがないためブログを通して勉強。その後、IT業界の業界知識が活かせる人材業界に就職

このエントリーをはてなブックマークに追加

【ASP.NET・C#】C#で共通関数を定義するには

【今回の紹介】

複数フォーム(画面)から共通で呼ぶ関数を作成した時のメモを残します。




【内容】

まず、前提としてC#には、

複数フォームから呼ぶ共通関数を定義しておくような場所がないそう


また、
・共通で呼ぶただのモジュールなので、オブジェクト指向で書く必要はなさそう
 →インスタンス化して、固有のプロパティを持たせる必要がない





調べてみると、
以下のようなクラス自体にstaticをつけ、インスタンス化せずに
staticなメソッド・プロパティを使って、共通関数として使うのが一般的なようです。


参考:


pg2se.com



tomosoft.jp

   



☆参考ソース


共通関数 画面のIDによって、ボタンobjを非表示にするという処理 

public static class Class1
{

    private static Dictionary<string, Boolean> con = new Dictionary<string, bool>()
    {
        {"test1",true},
        {"test2",true},
        {"test3",true}
    };
        

        public static void set (string screenId, Button button){
            if (con.ContainsKey(screenId)) { 
                if(con[screenId]){
                  //画面固有の処理
                  button.Visible=false;
                 }
            }
        }
 }

呼び出し部分

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        Class1.set("test1", Button1);
    }

}
.hatena-module:nth-of-type(10) { background: transparent; } .hatena-module:nth-of-type(10) .hatena-module-title{ display: none; } .hatena-module:nth-of-type(10) .hatena-module-body { padding: 0; }