Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Zjištění jména statické proměné

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Zjištění jména statické proměné

Autor: PajusMX ♂

14:11:09 06.12.2012

Díky moc.

Citovat příspěvek

 

Re: Zjištění jména statické proměné

Autor: TC ♂

13:16:36 06.12.2012

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace PajusMX
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(GetTextValue(MojeTrida.CENA));
Console.WriteLine(GetTextValue<MojeTrida>(MojeTrida.CENA));
}

private static string GetTextValue(object obj)
{
return obj.ToString();
}

private static string GetTextValue<T>(object val)
{
foreach (var p in typeof(T).GetFields())
if (p.GetValue(null) == val) return p.Name;
return "Upsii";
}
}

class MojeTrida
{
public static string CENA = "naše cena";
}
}

Citovat příspěvek

 

Re: Zjištění jména statické proměné

Autor: TC ♂

13:15:28 06.12.2012

PajusMX napsal/a

Ahoj,
mám metodu:
private string GetTextValue(object obj)
{

}

class MojeTrida
{
Public static string CENA ="naše cena";
}

do metody předám proměnou CENA ze tridy MojeTrida:

GetTextValue(MojeTrida.CENA)

lze nějakým způsobem zjistit název té proměnné tak, aby mě metoda vrátila ne obsah ale název "CENA" ?

Děkuji předem za pomoc.
Hezký den,
Pajus.



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;

namespace PajusMX
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(GetTextValue(MojeTrida.CENA));
Console.WriteLine(GetTextValue<MojeTrida>(MojeTrida.CENA));
Type type = typeof(MojeTrida); // MyClass is static class with static properties
foreach (var p in type.GetFields())
{
var s=p.GetValue(null);
int t = 0;
}
}
private static string GetTextValue(object obj)
{
return obj.ToString();
}
private static string GetTextValue<T>(object val)
{
foreach (var p in typeof(T).GetFields())
if (p.GetValue(null) == val) return p.Name;
return "Upsii";
}
}

class MojeTrida
{
public static string CENA = "naše cena";
}
}
Zdravim
TC

Citovat příspěvek

 

Re: Zjištění jména statické proměné

Autor: RomanZ ♂

11:04:19 06.12.2012

Public static Cena CENA; // ="naše cena";

To přiřazení hodnoty mám špatně, musíš ho napsat podle toho, jak si ve třídě Cena chceš pamatovat hodnotu.

Citovat příspěvek

 

Re: Zjištění jména statické proměné

Autor: RomanZ ♂

11:01:17 06.12.2012

Asi ne.

Vytvoř si třídu Cena.

Změň definici metody, aby nevracela string, ale instanci třídy Cena:

Public static Cena CENA ="naše cena";

Potom se můžeš v metodě GetTextValue podívat, jakého je obj typu. Dostaneš odpověď "Cena".

Citovat příspěvek

 

Zjištění jména statické proměné

Autor: PajusMX ♂

10:06:40 06.12.2012

Ahoj,
mám metodu:
private string GetTextValue(object obj)
{

}

class MojeTrida
{
Public static string CENA ="naše cena";
}

do metody předám proměnou CENA ze tridy MojeTrida:

GetTextValue(MojeTrida.CENA)

lze nějakým způsobem zjistit název té proměnné tak, aby mě metoda vrátila ne obsah ale název "CENA" ?

Děkuji předem za pomoc.
Hezký den,
Pajus.

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: