從Windows窗體的主類我試圖在另一個庫(dll)內創建一個類的對象。在dll中訪問類?
但是我不能創建這個對象,因爲當我輸入該類的名稱時,我沒有得到Visual Studio的幫助。
我想我需要一個對庫的引用,我試圖右鍵單擊該庫,然後添加引用,並選擇項目的名稱,我有我的主類和Windows窗體。
但它仍然不工作!我做錯了,還是錯過了一些東西?
從Windows窗體的主類我試圖在另一個庫(dll)內創建一個類的對象。在dll中訪問類?
但是我不能創建這個對象,因爲當我輸入該類的名稱時,我沒有得到Visual Studio的幫助。
我想我需要一個對庫的引用,我試圖右鍵單擊該庫,然後添加引用,並選擇項目的名稱,我有我的主類和Windows窗體。
但它仍然不工作!我做錯了,還是錯過了一些東西?
採取以下步驟來access
在library
(DLL)的方法,MSDN
references
添加文件夾上單擊添加引用選擇項目或DLL文件夾中。在你的類中包含dll的命名空間(Form)假設你有命名空間yourcomapany.communication,然後使用using
來包含命名空間來訪問它的類。
using yourcomapany.communication;
然後彈出一個消息框,說我不能添加它,它會導致循環依賴! – 2012-08-14 17:00:55
您是否將項目的參考添加到自身?在你想使用它的項目中添加庫的引用 – Adil 2012-08-14 17:02:57
當我按照你的步驟,我得到這個消息!? – 2012-08-14 17:11:11
但它仍然不工作!我做錯了,還是我錯過了什麼?
確保您已將該類定義到的名稱空間帶入作用域。因此,例如:
using FooBar;
現在你可以創建實例:
Foo foo = new Foo();
namespace FooBar
{
public class Foo
{
}
}
,然後在你的WinForms將參照類庫包含類添加命名空間後申請
當然,要運行Foo
必須聲明爲public
。如果不是,那麼你當然不能訪問它。請記住,如果沒有可見性修飾符的類:
namespace FooBar
{
class Foo
{
}
}
等同於:
namespace FooBar
{
internal class Foo
{
}
}
所以internal
假設,這意味着你不能從其他組件訪問。它必須是public
。
當我嘗試寫入命名空間時,我沒有得到任何幫助。我認爲它沒有「連接」! – 2012-08-14 17:02:03
您是否將包含此名稱空間的程序集引用到項目中?如果它是同一解決方案的一部分,則可以直接添加項目引用。 – 2012-08-14 17:02:33
是的,它是同一個解決方案的一部分 – 2012-08-14 17:03:53
您是否使用過['using'](http://msdn.microsoft.com/en-us/library/dfb3cx8s.aspx)? – ken2k 2012-08-14 16:54:08