IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
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
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
Tvůrce
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.