2014-03-04 69 views
1

我按照下列步驟加速度計是「命名空間」而是使用像「類型」

因爲加速度計數據是在XNA的形式通過本應用程序需要以包含傳感器API和XNA框架的組件的引用框架Vector3對象。從項目菜單中,單擊添加引用...,選擇Microsoft.Devices.Sensors和Microsoft.Xna.Framework,然後單擊確定。

但是,爲什麼這個錯誤就要加速度計是「命名空間」,但使用像一個「類型」

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Windows; 
using System.Windows.Controls; 
using System.Windows.Documents; 
using System.Windows.Input; 
using System.Windows.Media; 
using System.Windows.Media.Animation; 
using System.Windows.Shapes; 
using Microsoft.Phone.Controls; 
using Microsoft.Devices.Sensors; 
using Microsoft.Xna.Framework; 

namespace Accelerometer 
{ 
    public partial class MainPage : PhoneApplicationPage 
    { 
    // Constructor 
    Accelerometer accelerometer; 


    public MainPage() 
    { 
     InitializeComponent(); 

     if (!Accelerometer.IsSupported) 
     { 
      // The device on which the application is running does not support 
      // the accelerometer sensor. Alert the user and disable the 
      // Start and Stop buttons. 
      statusTextBlock.Text = "device does not support accelerometer"; 
      startButton.IsEnabled = false; 
      stopButton.IsEnabled = false; 
      } 
     } 

回答

3

我想你想用這個Accelerometer class的Windows手機,但因爲你的名字空間也Accelerometer ,程序給出錯誤。它首先檢查名稱空間名稱。

你可以改變你的命名空間名稱,或者你可以使用你的Accelerometer類的全名;

if (!Microsoft.Devices.Sensors.Accelerometer.IsSupported) 
{ 
    // 
} 
+2

這是正確的。通過如上所述的'using'指令,全局名稱空間就在'using'指令的名稱空間之前進行搜索。而且因爲在前一次搜索中發現了他的名字空間Accelerometer,所以我們永遠不會在'Microsoft.Devices.Sensors'中搜索到'Microsoft.Devices.Sensors.Accelerator'。 Se [我的帖子在其他地方](http://stackoverflow.com/a/16092975/1336654)瞭解詳情。你自己的代碼不正確。您不會像您聲稱的那樣使用該類的全名,而「IsSupported」屬性是「靜態」。 –

+0

@JeppeStigNielsen噢,你是對的。更新。謝謝。 –

相關問題