DispatcherTimer.Start()' harus mendeklarasikan isi karena tidak ditandai abstrak, eksternal, atau parsial di MVC4

public void DispatcherTimerSetup(HttpClient httpClient)
{
    Client = httpClient;
    dispatcherTimer = new DispatcherTimer();
    dispatcherTimer.Tick += dispatcherTimer_Tick;
    dispatcherTimer.Interval = new TimeSpan(0, 1, 0); // TimeSpan for 1 Minute 0 secs
    if (!dispatcherTimer.IsEnabled)
    {
        dispatcherTimer.Start();
    }
}

class DispatcherTimer
{
    public void Start();
}

Saya mendapatkan Kesalahan seperti ini

DispatcherTimer.Start()' harus mendeklarasikan isi karena tidak ditandai abstrak, eksternal, atau parsial


person user3065401    schedule 05.12.2013    source sumber
comment
Mengapa Anda mendeklarasikan kelas DispatcherTimer Anda sendiri? Anda harus menggunakan yang sudah ada . Pesan kesalahan memberitahu Anda bahwa Anda perlu menyediakan implementasi untuk metode Start() karena ini bukan metode abstrak   -  person CodingIntrigue    schedule 05.12.2013
comment
Pertama saya mendeklarasikan kelas ini seperti ini DispatcherTimer DispatcherTimer ;, Setelah itu saya mendapatkan kesalahan ini DispatcherTimer' tidak dapat ditemukan (apakah Anda melewatkan arahan penggunaan atau referensi perakitan?) untuk itu saya membuat Dispatcher Di mana saya perlu mendapatkan kelas Dispatcher yang ada ini . bisakah Anda membantu saya. Saya baru mengenal MVC sekarang menggunakan MVC4. Terima kasih sebelumnya   -  person user3065401    schedule 05.12.2013
comment
@ user3065401 Sekarang coba tebak apa arti pesan kesalahan itu?   -  person Thorsten Dittmar    schedule 05.12.2013
comment
@ user3065401 Jika Anda menggunakan MVC, Anda harus mulai dengan mempelajari C#. Pengembangan MVC memerlukan pengetahuan dasar tentang cara kerja C# sebagai sebuah bahasa. Ada juga komponen tertentu yang tidak dapat digunakan secara efektif dalam proyek MVC. DispatcherTimer adalah salah satunya. Saya sarankan untuk mendapatkan dua buku yang layak: Satu tentang C#/Visual Studio Development dan satu lagi tentang MVC 4.0. Kemudian, Anda akan dapat mengajukan pertanyaan di sini yang lebih mungkin mendapatkan jawaban informatif   -  person CodingIntrigue    schedule 05.12.2013
comment
Sekarang saya bisa melakukannya tolong jangan bilang Mustahil orang akan kecewa.   -  person user3065401    schedule 05.12.2013


Jawaban (3)


Masalahnya adalah Anda belum mengimpor masing-masing ruang nama (System.Windows.Threading). Anda kemudian membuat kelas DispatchTimer yang tidak lengkap. Implementasi Anda tidak memiliki isi metode untuk metode Start().

Tambahkan namespace (using System.Windows.Threading;) yang berisi kelas DispatchTimer bawaan dan hapus implementasi kelas Anda sendiri dan Anda akan baik-baik saja.

person Thorsten Dittmar    schedule 05.12.2013
comment
Setelah menambahkan menggunakan System.Windows.Threading; NM ini saya mendapat kesalahan ini Jenis atau nama namespace 'Threading' tidak ada di namespace 'System.Windows' Jadi saya pikir kita perlu menambahkan perakitan apa pun seperti WindowsBase.dll. atau sesuatu yang lain - person user3065401; 05.12.2013

Tidak jelas apa yang Anda coba lakukan.

class DispatcherTimer
{
    public void Start();//<--Here is the problem method has nobody. Either you should add body or mark it abstract.
}

Anda harus mengganti nama kelas Anda dari DispatcherTimer menjadi yang lain, saya tidak yakin bagaimana Tick, Interval, IsEnabled` tidak memberikan kesalahan.

Anda mungkin harus menghapus kelas DispatcherTimer Anda sepenuhnya dan menggunakan System.Windows.Threading.DispatcherTimer.

Saya tidak yakin apakah Anda dapat menggunakan DispatcherTimer di Asp.Net, Anda mungkin perlu menyelidikinya.

person Sriram Sakthivel    schedule 05.12.2013
comment
Ya, kita perlu menambahkan referensi ini WindowsBase.dll Saya mendapatkannya Terima kasih kepada Alll............ - person user3065401; 05.12.2013

Anda mencari sesuatu seperti

public sealed class MyDispatcherTimer
{
    DispatcherTimer dispatcherTimer;
    public void DispatcherTimerSetup(HttpClient httpClient)
    {
        Client = httpClient;
        dispatcherTimer = new DispatcherTimer();
        dispatcherTimer.Tick += dispatcherTimer_Tick;
        dispatcherTimer.Interval = new TimeSpan(0, 1, 0); // TimeSpan for 1 Minute 0 secs

    }

    public void StartMyDispatcherTimer()
    {
        if (dispatcherTimer != null && !dispatcherTimer.IsEnabled)
            dispatcherTimer.Start();
    }
}

Namun seperti yang dikatakan beberapa komentar, mengapa Anda mencari ini tidak jelas. Sudah ada kelas DispatcherTimer yang berfungsi dengan baik sehingga tidak ada alasan untuk membungkusnya.

Semoga membantu.

person MoonKnight    schedule 05.12.2013