[英]c# Kinect 2.0 How to detect how far a body away from the center of Kinect sensor
[英]C# How to use two different versions of the same namespace (i.e. Kinect 1.8 and Kinect 2.0)
在C#中,我想在同一項目中引用Microsoft.Kinect(v1.8) 和 Microsoft.Kinect(v2.0)。 它們是不同的DLL,但使用相同的名稱空間。 我可以通過重命名.csproj文件中的引用來引用它們(通過分別將它們分別稱為“ Microsoft.Kinectv1”和“ Microsoft.Kinectv2”)。
然而,問題仍然在於如何在代碼中專門引用一個或另一個,因為它們都具有相同的名稱空間。 Visual Studio注意到在兩個組件(v1.8和v2.0)中都使用了some類,但是我不知道如何在代碼中指定一個版本或另一個版本。 我已經閱讀了幾篇有關此問題的文章,但這些文章都沒有具體說明如何解決此問題。 怎么做?
在屬性窗口中,為每個程序集指定不同的別名(假設您將它們命名為:assem01和assem02);
在要使用相同名稱空間的文件的頂部,編寫:
extern別名assem01;
extern別名assem02;
注意:這些行必須寫在文件中的任何其他代碼之前。
現在,您可以從兩個程序集中訪問相同的名稱空間,例如:
var c1 = new assem01 :: ns1.ns2.myClass();
var c2 = new assem02 :: ns1.ns2.myClass();
為了方便起見,您可能還希望為命名空間提供一些別名,例如:
使用assem01_ns2 = assem01 :: ns1.ns2;
使用assem02_ns2 = assem01 :: ns1.ns2;
var c1 = new assem01_ns2.myClass();
var c2 = new assem02_ns2.myClass();
希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.