[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