[MonoDevelop] how to create a dll file in mono
Ian Norton
ian.norton-badrul at thales-esecurity.com
Thu Sep 8 02:06:35 EDT 2011
Does that really compile?
Your IniParser2 class looks like it is inside the private MainClass to me
On Sat, Aug 27, 2011 at 10:30:16AM +0100, Rituranjangupta wrote:
>
> 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.
> _______________________________________________
> Monodevelop-list mailing list
> Monodevelop-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/monodevelop-list
More information about the Monodevelop-list
mailing list