September discount week
Pouze tento týden sleva až 80 % na e-learning týkající se MS Office
50 % bodů zdarma na online výuku díky naší Slevové akci!

Diskuze: Volanie Methody problem

Aktivity (5)
Avatar
madewman
Člen
Avatar
madewman:6.12.2019 14:22
using System;
using System.Collections.Generic;
using Microsoft.Azure.CognitiveServices.Vision.ComputerVision;
using Microsoft.Azure.CognitiveServices.Vision.ComputerVision.Models;
using System.Threading.Tasks;
using System.IO;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace computer_vision_quickstart
{
    class Class1
    {


        public static ComputerVisionClient Authenticate(string endpoint, string key)
        {
            ComputerVisionClient client =
              new ComputerVisionClient(new ApiKeyServiceClientCredentials(key))
              { Endpoint = endpoint };
            return client;
        }

    }
}

A takto voám methodu v maine ale vypisuje stále chybu s Authenticate taktiež by ma zaujimalo čo to je vlastne?

static string subscriptionKey = Environment.GetEnvironmentVariable("9c0a0a9b5f094c5eae871fd932396877");
       static string endpoint = Environment.GetEnvironmentVariable("https://westcentralus.api.cognitive.microsoft.com/vision");

       static public void Main(String[] args)
       {

           // Create a client
           ComputerVisionClient client = new Authenticate(endpoint, subscriptionKey);

       }
   }

Problem s volanim methody pri Authenticate ,že to nepozná.

Zkusil jsem: Deklarovať methodu v maine.

Chci docílit: Zadeklarovat methodu.

Odpovědět
6.12.2019 14:22
"Whether you think you can, or you think you can't - you're right."(Henry Ford)
Avatar
Ondřej Šrytr:6.12.2019 14:41

Ahoj,

ta metoda je ve třídě Class1, takže volání této statické metody by mělo vypadat takto:

Class1.Authenticate(endpoint, subscriptionKey);
 
Nahoru Odpovědět
6.12.2019 14:41
Avatar
madewman
Člen
Avatar
Odpovídá na Ondřej Šrytr
madewman:6.12.2019 15:19

Ok díky a ono to je vlastne ako táto časť je class public static ComputerVision­Client a ma metódu Authenticate a ta trieda je ešte v mojej triede tak chápem ja. Dobre to chápem?

Nahoru Odpovědět
6.12.2019 15:19
"Whether you think you can, or you think you can't - you're right."(Henry Ford)
Avatar
Odpovídá na madewman
Ondřej Šrytr:7.12.2019 14:15

Máš třídu Class1 a v ní funkci Authenticate. Public znamená, že funkce nebo metoda bude veřejná (viditelná mimo třídu) a static, že můžeš tu funkci nebo metodu volat bez potřeby instancování třídy.
V tvém případě ve třídě, kde máš metodu Main, se snažil překladač najít Authenticate v té samé třídě. Proto ti to psalo, že Authenticate nezná.

 
Nahoru Odpovědět
7.12.2019 14:15
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
madewman
Člen
Avatar
madewman:11.12.2019 16:29

A toto tu je čo ?
AnalyzeImageUr­l(client, ANALYZE_URL_I­MAGE).Wait();
Funckia s parametrami(cli­ent,ANALYZE_UR­L_IMAGE) a Wait() je methoda bez parametrov?

Nahoru Odpovědět
11.12.2019 16:29
"Whether you think you can, or you think you can't - you're right."(Henry Ford)
Avatar
Jakub Verner
Redaktor
Avatar
Jakub Verner:22.12.2019 1:17

Stačí zavolat metodu Authenticate ze třídy Class1... Já bych to napsal takto (v Main):

Class1 class = new Class1(); // Vytvoříš odkaz na třídu...
ComputerVisionClient client (= new ComputerVisionClient()); // Vytvoříš klienta...
client = class.Authenticate(endpoint, subscriptionKey); // Zavoláš metodu...
  • Class1 bych nastavil na public (public class Class1 { ... })...
 
Nahoru Odpovědět
22.12.2019 1:17
Avatar
Ladislav Filip:23.12.2019 21:48

No hlavně to vypadá na celkové nepochopení jazyka :)
Podle svého příkladu se asi pokoušíš založit novou instance metody Authenticate (new).

 
Nahoru Odpovědět
23.12.2019 21:48
Avatar
madewman
Člen
Avatar
Odpovídá na Ladislav Filip
madewman:24.12.2019 13:53

Tiež som v C# začiatočník a trocha ovladám objektové programovanie a to nevymyšľam ja ale snažim sa pripojiť k azure cloudovej službe pre computer vision a takto je to dane v dokumentácii.

Nahoru Odpovědět
24.12.2019 13:53
"Whether you think you can, or you think you can't - you're right."(Henry Ford)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 8 zpráv z 8.