|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
[C#]Passare variabili ad app.config
Ciao a tutti
E' possibile fare una cosa del genere? Codice PHP:
Grazie RaouL.
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
|
ma a sto punto a cosa ti servirebbe il file di configurazione?
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
non so se in questo caso ti può servire..
ma io avevo fatto questa classettina per gestire la configurazione in C# dato che sentivo la mancanza delle properties di Java e, dopo una breve ricerca, non avevo trovato niente di simile... Codice:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace FileSystemListener
{
public class Properties
{
private static Dictionary<string, string> properties = new Dictionary<string, string>();
private static string filename = "config.properties";
private static bool isLoaded = false;
private static void loadProperties()
{
if (isLoaded) {return; }
else
{
StreamReader reader = File.OpenText(filename);
string line = "";
while ((line = reader.ReadLine()) != null)
{
string[] splittedLine = line.Split('=');
string key = splittedLine[0];
string value = splittedLine[1];
properties.Add(key, value);
}
reader.Close();
isLoaded = true;
}
}
public static void setPropertiesFile(string filename)
{
Properties.filename = filename;
}
public static string get(string key)
{
loadProperties();
return properties[key];
}
public static void add(string key, string value)
{
loadProperties();
properties.Add(key, value);
}
public static void set(string key, string value)
{
loadProperties();
properties[key] = value;
}
public static void save()
{
StreamWriter writer = File.CreateText(filename);
foreach (string key in properties.Keys)
{
writer.Write(key + "=" + properties[key] + '\n');
}
writer.Flush();
writer.Close();
}
}
}
__________________
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2004
Messaggi: 3967
|
@0rph3n
Sono alla ricerca di un modo per non avere file in chiaro sul client. Se metto server, nomedb, user id e password nel file app.config, sul client dell'utente sono in chiaro. E poi per avere un unico app.config da poter usare per tutti. @^TiGeRShArK^ ma per le properties di Java cosa intendi? Pensando al C# a me come properties viene in mente: Codice:
private string _stringa;
public string Stringa
{
get { return _stringa; }
set { stringa = value; }
}
//da qualche parte nel codice....
Classe classe = new Classe();
classe.Stringa = "abcde";
//
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
Le properties di Java che intendo io in realtà sono un meccanismo per gestire la configurazione. Non è altro che una coppia di chiavi-valori che è possibile leggere da un file in questo formato: Codice:
host=192.168.0.1 username=pippo password=pluto Nella mia versione delle properties per il C# basta fare così: Codice:
Properties.loadProperties(); //La prima volta per caricare le properties, quindi di solito nel costruttore
string username = Properties.get("username");
string password = Properties.get("password");
è anche possibile modificare le properties tramite il metodo set, aggiungerne altre tramite il metodo add e salvare il tutto sullo stesso file... ...ora che ci penso mi sò dimenticato il metodo remove... ![]() ma è una banalità da implementare
__________________
Ultima modifica di ^TiGeRShArK^ : 30-11-2007 alle 13:45. |
|
|
|
|
|
|
#6 | |
|
Member
Iscritto dal: May 2006
Messaggi: 69
|
Quote:
http://msdn2.microsoft.com/en-us/lib...er(VS.80).aspx |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:37.





















