[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