Klávesnice zdarma Klávesnice zdarma
Pořádné programy s pořádnou klávesnicí zdarma. Více zde
Pouze tento týden sleva až 80 % na C# .NET

Diskuze: C# Enum

C# .NET .NET (C# a Visual Basic) C# Enum American English version English version

Aktivity (3)
Avatar
Dusan Gonda
Člen
Avatar
Dusan Gonda:29.11.2018 16:42

Potreboval by som z vysledku volania zistit nazov Enum polozky. Uz som vyskusal vsetko mozne nejako sa mi nedari, som samouk :-) Vyzera to takto nejako ale mi to negfunguje :-)
var dg = Enum.GetName(ty­peof(SinglePac­kServices.Cata­logStateReason_Ty­pe), response.Body­.Pack.Reason) kde response.Body­.Pack.Reason je Enum polozka z vysledoku volania. Dakujem za pomoc

Zkusil jsem: public enum CatalogStateRe­ason_Type {

/// <remarks/>
SUPPLIED,

/// <remarks/>
DESTROYED,
atd.....

Chci docílit: Robim program na centralne overovanie liekov a potrebujem aby sa mi zobrazil vysledok volania napr: ci je liek: DESTROYED......

 
Odpovědět 29.11.2018 16:42
Avatar
SebelaMichal
Člen
Avatar
SebelaMichal:2.12.2018 23:20

Ahoj, ToString() nefunguje ? Ale asi to není to, co by se mělo zobrazovat uživatelovi, nebo ukládat do db....

 
Nahoru Odpovědět 2.12.2018 23:20
Avatar
Luboš Běhounek Satik
Autoredaktor
Avatar
Luboš Běhounek Satik:3.12.2018 9:49

pripadne
v c# 6.0 muzes zkusit nameof(), jinak treba

Enum.GetName(Sin­glePackServices­.GetType(), hodnotaZEnumu)

Nahoru Odpovědět 3.12.2018 9:49
https://www.facebook.com/peasantsandcastles/
Avatar
Dusan Gonda
Člen
Avatar
Odpovídá na SebelaMichal
Dusan Gonda:3.12.2018 19:18

Ahoj Michal, skusal som aj ToString() ale ani ten mi nechce fungovat......

Ahoj Lubos, praveze Enum.GetName .... mi nechce vratit hodnotu, vyhlasuju mi chybu a neviem prist na to preco :-) Pozri na obrazok ktory som prilozil....

Inak Dakujem Vam velmi za ochotu pomoct, som samouk a nepoznam cloveka ktory robi v C# v mojom okoli....

 
Nahoru Odpovědět 3.12.2018 19:18
Avatar
SebelaMichal
Člen
Avatar
SebelaMichal:3.12.2018 20:14

Ahoj, jakého typu je response.Body­.Pack.Reason ? je to enum, nebo string ? Pokud je to string, tak se dá přes třídu Enum převést na enum :)

viz. msdn.com hledat Enum

 
Nahoru Odpovědět 3.12.2018 20:14
Avatar
Dusan Gonda
Člen
Avatar
Odpovídá na SebelaMichal
Dusan Gonda:3.12.2018 20:31

Ahoj Michal je to enum

 
Nahoru Odpovědět 3.12.2018 20:31
Avatar
SebelaMichal
Člen
Avatar
SebelaMichal:3.12.2018 20:35

Ahoj, zkus prosím toto:

a pak to porovnej s tím, co máš :)

using System;

namespace ConsoleApp1
{
    public enum Vycet: int
    {
        Prvni = 1,
        Druhy = 2
    }

    class Program
    {
        static void Main(string[] args)
        {
            Vycet e = Vycet.Druhy;

            Console.WriteLine(e.ToString());
            Console.ReadKey();
        }
    }
}
 
Nahoru Odpovědět 3.12.2018 20:35
Avatar
Dusan Gonda
Člen
Avatar
Odpovídá na SebelaMichal
Dusan Gonda:3.12.2018 20:38

Skusim dik teraz som na pive zajtra vyskusam a dam vediet. Dik :-)

 
Nahoru Odpovědět 3.12.2018 20:38
Avatar
SebelaMichal
Člen
Avatar
SebelaMichal:3.12.2018 20:39

https://docs.microsoft.com/…enum.getname?…

Řekl bych, že GetName ti vrátí název z int hodnoty. ToString() je to co hledáš :)

Stále mám ale pocit, že response.Body­.Pack.Reason je string, zkus na něm podržet myš, případně na něj klikni (na reason) a dej F12; pak zkontroluj definici property

 
Nahoru Odpovědět 3.12.2018 20:39
Avatar
plelovsky
Člen
Avatar
plelovsky:3.12.2018 21:11

Proč to celý děláš, když v Body.Pack.Reason máš string "SUPPLIED", tedy to, co chceš získat pomocí enumu?

 
Nahoru Odpovědět 3.12.2018 21:11
Avatar
SebelaMichal
Člen
Avatar
SebelaMichal:3.12.2018 23:20

Větší smysl by mi to dávalo převést string pomocí enumu na int, který se v db bude chovat rychleji :)

 
Nahoru Odpovědět  +1 3.12.2018 23:20
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 11 zpráv z 11.