首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

ASP.NET 跨檔案呼叫類別方法:同命名空間下直接實例化

     編輯:程式設計綜合問答

前提:同一專案、同一命名空間

ASP.NET (Web Forms / MVC) 編譯時會將專案內所有 `.cs` 檔**合併編譯成單一組件**,只要命名空間一致,**無需額外引用**,直接 `new ClassName()` 即可。

程式碼範例


// File: A.cs
namespace MyWebApp.Models {
    public class A {
        public string Stra() { return "A"; }
    }
}

// File: B.cs
namespace MyWebApp.Models {
    public class B {
        public string Strb() { return "B"; }
    }
}

// File: A.cs (或 Controller/Service 中)
namespace MyWebApp.Models {
    public class A {
        public string CallB() {
            B b = new B();          // 直接實例化
            return "A calls B: " + b.Strb();
        }
    }
}

若跨專案 (Class Library)

  1. 右鍵 Web 專案 → **Add Reference** → **Projects** → 勾選目標類別庫專案。
  2. 確認目標類別為 `public`,命名空間正確。
  3. 在 Web 專案 `using TargetNamespace;` 後直接使用。
  4. **重新建置** 方案。

常見錯誤

錯誤原因解決
CS0246: The type or namespace name 'B' could not be found命名空間不符、類別非 public、專案未建置檢查 namespace、加 public、Clean Rebuild
CS0122: 'B.Strb' is inaccessible due to its protection level方法非 public改為 `public string Strb()`
循環參考專案 A 參考 B,B 又參考 A抽取共用介面至第三個專案
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved