[MonoDevelop] how to create a dll file in mono
Rituranjangupta
rituranjan.gupta at gmail.com
Sat Aug 27 05:30:16 EDT 2011
how to create a dll file in mono and how to use it
i have a class
using System;
using System.Collections;
using System.IO;
using System.Text;
namespace IniRead
{
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ("Hello World!");
}
public class IniParser2 {
private Hashtable keyPairs = new Hashtable();
private String iniFilePath;
private struct SectionPair {
public String Section;
public String Key;
}
/// <summary>
/// Opens the INI file at the given path and enumerates the values in
the IniParser.
/// </summary>
/// Full path to INI file.
public IniParser2(String iniPath) {
TextReader iniFile = null;
String strLine = null;
String currentRoot = null;
String[] keyPair = null;
iniFilePath = iniPath;
if (File.Exists(iniPath)) {
try {
iniFile = new StreamReader(iniPath);
strLine = iniFile.ReadLine();
while (strLine != null) {
strLine = strLine.Trim().ToUpper();
if (strLine != "") {
if (strLine.StartsWith("[") &&
strLine.EndsWith("]")){
currentRoot = strLine.Substring(1,
strLine.Length - 2);
}
else {
keyPair = strLine.Split(new char[] { '=' }, 2);
SectionPair sectionPair;
String value = null;
if (currentRoot == null)
currentRoot = "ROOT";
sectionPair.Section = currentRoot;
sectionPair.Key = keyPair[0];
if (keyPair.Length > 1)
value = keyPair[1];
keyPairs.Add(sectionPair, value);
}
}
strLine = iniFile.ReadLine();
}
}
catch (Exception ex) {
throw ex;
}
finally
{
if (iniFile != null)
iniFile.Close();
}
}
else
throw new FileNotFoundException("Unable to locate " + iniPath);
}
/// <summary>
/// Returns the value for the given section, key pair.
/// </summary>
/// Section name.
/// Key name.
public String GetSetting(String sectionName, String settingName)
{
SectionPair sectionPair;
sectionPair.Section = sectionName.ToUpper();
sectionPair.Key = settingName.ToUpper();
return (String)keyPairs[sectionPair];
}
/// <summary>
/// Enumerates all lines for given section.
/// </summary>
/// Section to enum.
public String[] EnumSection(String sectionName)
{
ArrayList tmpArray = new ArrayList();
foreach (SectionPair pair in keyPairs.Keys)
{
if (pair.Section == sectionName.ToUpper())
tmpArray.Add(pair.Key);
}
return (String[])tmpArray.ToArray(typeof(String));
}
/// <summary>
/// Adds or replaces a setting to the table to be saved.
/// </summary>
/// Section to add under.
/// Key name to add.
/// Value of key.
public void AddSetting(String sectionName, String settingName, String
settingValue)
{
SectionPair sectionPair;
sectionPair.Section = sectionName.ToUpper();
sectionPair.Key = settingName.ToUpper();
if (keyPairs.ContainsKey(sectionPair))
keyPairs.Remove(sectionPair);
keyPairs.Add(sectionPair, settingValue);
SaveSettings(iniFilePath);
}
/// <summary>
/// Adds or replaces a setting to the table to be saved with a null
value.
/// </summary>
/// Section to add under.
/// Key name to add.
public void AddSetting(String sectionName, String settingName) {
AddSetting(sectionName, settingName, null);
}
/// <summary>
/// Remove a setting.
/// </summary>
/// Section to add under.
/// Key name to add.
public void DeleteSetting(String sectionName, String settingName) {
SectionPair sectionPair;
sectionPair.Section = sectionName.ToUpper();
sectionPair.Key = settingName.ToUpper();
if (keyPairs.ContainsKey(sectionPair))
keyPairs.Remove(sectionPair);
}
/// <summary>
/// Save settings to new file.
/// </summary>
/// New file path.
public void SaveSettings(String newFilePath) {
ArrayList sections = new ArrayList();
String tmpValue = "";
String strToSave = "";
foreach (SectionPair sectionPair in keyPairs.Keys) {
if (!sections.Contains(sectionPair.Section))
sections.Add(sectionPair.Section);
}
foreach (String section in sections) {
strToSave += ("[" + section + "]\r\n");
foreach (SectionPair sectionPair in keyPairs.Keys)
{
if (sectionPair.Section == section)
{
tmpValue = (String)keyPairs[sectionPair];
if (tmpValue != null)
tmpValue = "=" + tmpValue;
strToSave += (sectionPair.Key + tmpValue + "\r\n");
}
}
strToSave += "\r\n";
}
try
{
TextWriter tw = new StreamWriter(newFilePath);
tw.Write(strToSave);
tw.Close();
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// Save settings back to ini file.
/// </summary>
public void SaveSettings()
{
SaveSettings(iniFilePath);
}
}
}
}
--
View this message in context: http://mono.1490590.n4.nabble.com/how-to-create-a-dll-file-in-mono-tp3772778p3772778.html
Sent from the Mono - MonoDevelop IDE mailing list archive at Nabble.com.
More information about the Monodevelop-list
mailing list