Cara memanggil tugas nonstatis dalam metode statick tanpa menggunakan kelas

pemrograman


Hai kawan,

saya ingin tahu apakah ada solusi untuk memanggil tugas non-statis dalam metode statis misalnya ini adalah tugas non-statis saya

C#
public async Task login(string user, string password)
        {

        }

dan ini adalah metode statis saya

C#
public static void checker(string email, string password)
       {
           while (true)
           {
               login(email, password);
           }
       }

tapi itu tidak bisa dipanggil dan saya tidak ingin menggunakan kelas untuk mereka.

Apa yang saya coba:

………………………………………….

Solusi 1

Anda dapat melakukannya dengan menggunakan beberapa objek global atau beberapa objek lokal dalam metode statis.

Tapi ketika saya membaca C# juga dapat memulai thread pada metode instance. Membaca dokumentasi Microsoft.

PS: dengan menjawab pertanyaan anda, saya belajar sedikit 🙂

Solusi 2

Tidak. Tidak secara langsung.
Anggota non statis selalu memerlukan instance objek untuk digunakan karena tersirat bahwa ia dapat menyentuh data instance. dan itu tidak mungkin terjadi tanpa referensi objek.

Ini berfungsi dalam contoh yang diberikan oleh KarstenK karena metode anggota dibungkus dengan delegasi.
Apa yang dapat Anda lakukan: meloloskan delegasi.
Tetapi Anda masih harus meneruskannya, Anda tidak bisa begitu saja ‘memanggil’ metode instance acak tanpa membuat delegasi. Kecuali Anda menggunakan objek global.

Tapi sejujurnya, dalam kasus seperti ini, masalah Anda adalah tanda bahwa Anda mencoba memperbaiki masalah yang salah. Ini mungkin merupakan tanda bahwa metode ‘login’ Anda tidak boleh menjadi metode instan. Atau jika memang diperlukan, sebaiknya jangan coba-coba menghindari penggunaan instance tersebut.

コメント

タイトルとURLをコピーしました