Loading Assemblies : DLL Library : Language Basics C# Source Code


Custom Search

C# Source Code » Language Basics » DLL Library »

 

Loading Assemblies








    

/*
A Programmer's Introduction to C# (Second Edition)
by Eric Gunnerson

Publisher: Apress  L.P.
ISBN: 1-893115-62-3
*/
// 30 - Execution-Time Code Generation\Loading Assemblies\Making it Dynamic
// copyright 2000 Eric Gunnerson
// file=LogAddInToFile.cs
// compile with: csc /r:..\logdriver.dll /target:library logaddintofile.cs
using System;
using System.Collections;
using System.IO;

public class LogAddInToFile: ILogger
{
    StreamWriter streamWriter;
    
    public LogAddInToFile()
    {
        streamWriter = File.CreateText(@"logger.log");
        streamWriter.AutoFlush = true;
    }
    
    public void Log(string message)
    {
        streamWriter.WriteLine(message);
    }
}

//=============================================================
// 30 - Execution-Time Code Generation\Loading Assemblies
// copyright 2000 Eric Gunnerson
// file=LogDriver.cs
// compile with: csc /target:library LogDriver.cs
using System;
using System.Collections;

public interface ILogger
{
    void Log(string message);
}

public class LogDriver
{
    ArrayList loggers = new ArrayList();
    
    public LogDriver()
    {
    }
    
    public void AddLogger(ILogger logger)
    {
        loggers.Add(logger);
    }
    
    public void Log(string message) 
    {
        foreach (ILogger logger in loggers)
        {
            logger.Log(message);
        }
    }
}

public class LogConsole: ILogger
{
    public void Log(string message)
    {
        Console.WriteLine(message);
    }
}

           
       
    
   
  
   







HTML code for linking to this page:

Follow Navioo On Twitter

C# Source Code

 Navioo Language Basics
» DLL Library