2012-02-11 5 views
0

Моей ошибка CS0143, типа «Microsoft.Kinect.KinectSensor» имеет никаких конструкторов не определенCS0143: для Kinect

Я проверил другие вопросы, подобные этим, но не понял, ответов они дали. По существу класс, который я пишу, является всего лишь инициализатором для kinectSenor.

Любая помощь будет большой ... спасибо!

public class KinectInitialize 
{ 

    KinectSensor _kinectSensor = new KinectSensor(); 

    #region Constructors 
    public KinectInitialize() 
    { 

    } 
    #endregion 

    #region Methods 
    void SetAllFramesReady(KinectSensor Kinect) 
    { 
     Kinect.AllFramesReady += new EventHandler<AllFramesReadyEventArgs>(Kinect_AllFramesReady); 
    } 

    internal void RemoveOldSensor(DependencyPropertyChangedEventArgs e) 
    { 
     _kinectSensor = (KinectSensor)e.OldValue; 
     StopKinect(_kinectSensor); 
    } 

    public KinectSensor CreateNewSensor(DependencyPropertyChangedEventArgs e) 
    { 
     _kinectSensor = (KinectSensor)e.NewValue; 

     return _kinectSensor; 
    } 

    internal void StopKinect(KinectSensor sensor) 
    { 
     if (sensor != null) 
     { 
      sensor.Stop(); 
      sensor.AudioSource.Stop(); 
     } 
    } 
    #endregion 
+0

У вас есть конструктор без параметров для датчика Kinect? –

+0

Приведенный здесь код ничего не делает с полем '_kinectSensor', кроме того, чтобы назначить ему. Поле даже необходимо? –

+0

M.Babcock - Это хороший вопрос. Я пытаюсь найти лучший способ работать с ним. Я думаю, что я просто пытаюсь создать один класс, где существует датчик, и я могу манипулировать им оттуда. Если это имеет смысл :) – JamWils

ответ

2

Там нет общественного конструктора на Kinect класса - есть, однако общественный статичный набор KinectSensors, из которого вы можете просто захватить первый в статусе Connected:

KinectSensor sensor = KinectSensor.KinectSensors 
            .FirstOrDefault(s => s.Status == KinectStatus.Connected); 

Я предполагаю, что это делается для удобства, потому что у вас может быть более одного Kinect, прикрепленного к вашей машине.

+0

Спасибо, это помогло мне. – JamWils