C# Tips

來源:互聯網
上載者:User

 

查看別人的來源程式時,一些錯誤的解決提示:

1、win7 64位系統: 運行失敗的話,將VS功能表列下面那欄裡有個"Any CPU",進去new一個x86的試試

2、無法載入dll檔案: 方法一.在方案總管裡將這個dll添加到項目的引用裡;

          方法二.如果添加引用失敗,可以嘗試在開始->運行->cmd裡 先進入"C:\Windows\System32\"檔案夾,然後運行"regsvr32.exe d:\xxx.dll"命令,註冊這個dll檔案,再嘗試方法一;

          方法三.註冊也失敗的話,可嘗試直接將dll檔案複製到"項目目錄\bin\Debug\"下,如果之前CPU設定了x86的話那就是"項目目錄\bin\x86\Debug\"下。

 

類比滑鼠點擊的方法: Button1_Click(this, new EventArgs());

 

添加線程池: ThreadPool.QueueUserWorkItem(new WaitCallback((stateInfo) =>
                {
                      doSomething();
                }));

 

struct 類型裡的欄位預設值: int類型預設值為0、string類型預設值為null

 

[STAThread]的含義

[STAThread]
STAThread:Single Thread Apartment Thread (單一線程單元線程)
[] 是用來表示Attributes;

[STAThread]
是一種執行緒模式,用在程式的入口方法上(在C#和VB.NET裡是Main()方法),來指定當前線程的ApartmentState 是STA。用在其他方法上不產生影響。在aspx頁面上可以使用AspCompat = "true" 來達到同樣的效果。這個屬性只在 Com Interop 有用,如果全部是 managed code 則無用。簡單的說法:[STAThread]指示應用程式的預設執行緒模式是單一執行緒 Apartment (STA)。啟動執行緒模式可設定為單一執行緒 Apartment或多執行緒 Apartment。如果未對其進行設定,則該線程不被初始化。也就是說如果你用的.NET Framework,並且沒有使用COM Interop,一般不需要這個Attribute。其它的還有MTA(多線程套間)、Free Thread(自由線程)。

[STAThread] attribute指示應用程式的 COM 執行緒模式是單一執行緒 Apartment。
而於此對應的多執行緒 Apartment則是 [MTAThread](多執行緒 Apartment線程)

COM 執行緒模式只適用於使用 COM interop 的應用程式。如果將此屬性應用到不使用 COM interop 的應用程式,將沒有任何效果。

COM 執行緒模式可設定為單一執行緒 Apartment或多執行緒 Apartment。如果應用程式線程實際調用了 COM 組件,則僅為 COM interop 初始化該線程。如果沒有使用 COM interop,則不初始化該線程。

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.