NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Ukládání do proměnné, jejiž název určuje jina proměnná VB.NET 2010

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
nois
Člen
Avatar
nois:23.11.2015 16:33

Zdravím, potřeboval bych uložit do proměnné, s proměnným názvem hodnotu. Ze všech nalezených rad zatím žádná nefunguje, jde to vůbec udělat?

 
Odpovědět
23.11.2015 16:33
Avatar
Milan Křepelka
Tvůrce
Avatar
Milan Křepelka:23.11.2015 16:52

Co to je proměnná s proměnným názvem?

http://stackoverflow.com/…g-reflection

 
Nahoru Odpovědět
23.11.2015 16:52
Avatar
nois
Člen
Avatar
Odpovídá na Milan Křepelka
nois:23.11.2015 16:59

Například mám proměnnou x a y. A pomocí třetí proměnné(string), která je název proměnné(x nebo y) bych určil do, které z těchto dvou proměnných chci ukládat hodnotu.

 
Nahoru Odpovědět
23.11.2015 16:59
Avatar
Milan Křepelka
Tvůrce
Avatar
Odpovídá na nois
Milan Křepelka:23.11.2015 17:22

Tedy odpověď najdeš v odkazu v předchozím komentáři. Tedy nepůjde o proměnné, ale o property na určitém objektu.

Nebo můžeš dělat Dictionary<string, tvujCilovyTyp> asi nějak takhle

string mujIndexer = "x";
Dictionary<string, int> mujDynamic = new Dictionary<string, int>();
mujDynamic.Add("x", 0);
mujDynamic.Add("y", 0);
mujDynamic[mujIndexer] = 33;

Console.WriteLine("{0}", mujDynamic[mujIndexer]);
 
Nahoru Odpovědět
23.11.2015 17:22
Avatar
nois
Člen
Avatar
Odpovídá na Milan Křepelka
nois:24.11.2015 8:14

Bohužel žádná z těchto variant mi stále nefunguje, možná dělám něco špatně.

    Public test As String = "test-1"

Sub Main()
       Dim myobject As New Object

        myobject.GetType().GetProperty("test").SetValue(myobject, "Test", Nothing)

        MsgBox(test)
End Sub
Editováno 24.11.2015 8:15
 
Nahoru Odpovědět
24.11.2015 8:14
Avatar
Milan Křepelka
Tvůrce
Avatar
Milan Křepelka:24.11.2015 8:17

Možná vůbec nevíš co děláš...

 
Nahoru Odpovědět
24.11.2015 8:17
Avatar
nois
Člen
Avatar
Odpovídá na Milan Křepelka
nois:24.11.2015 8:19

Ano, proto hledám radu zde.

 
Nahoru Odpovědět
24.11.2015 8:19
Avatar
Milan Křepelka
Tvůrce
Avatar
Milan Křepelka:24.11.2015 9:14

Radu máš před očima. To že nechápeš její podstatu je námět ke vzdělávání.

 
Nahoru Odpovědět
24.11.2015 9:14
Avatar
nois
Člen
Avatar
nois:24.11.2015 9:29

Ano zmíněný odkaz sem si dokázal najít i sám ovšem mi stejně ani nepasuje do toho co potřebuji. Promiň, ale k čemu potom toto forum je, když bych se nemohl na nic zeptat?

 
Nahoru Odpovědět
24.11.2015 9:29
Avatar
Milan Křepelka
Tvůrce
Avatar
Milan Křepelka:24.11.2015 9:47

Já ale neříkám, že se nemůžeš ptát. Já jenom říkám, že nepoužíváš hlavu a nesnažíš se jít do podstaty věci.

Jina bys přeci nemohl napsat

MsgBox(test)

a pozastavit se na tím že ti "to" nefunguje. To je jasný že ti "to" nefunguje. Nicméne to funguje jak má, jenom to není "to" co potřebujš. Snaž se pochopit co to ten kód znamená.

Nebo zkus to s tím Dictionary, je to vlastně hotový, jen to správně uchopit.

 
Nahoru Odpovědět
24.11.2015 9:47
Avatar
nois
Člen
Avatar
Odpovídá na Milan Křepelka
nois:24.11.2015 9:52

Proč bych nemohl napsat Msgbox(test) ? test je přece proměnná

 
Nahoru Odpovědět
24.11.2015 9:52
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.