Loading Assemblies: Making it Dynamic : DLL Library « Language Basics « C# / C Sharp

Home
C# / C Sharp
1.2D Graphics
2.Class Interface
3.Collections Data Structure
4.Components
5.Data Types
6.Database ADO.net
7.Design Patterns
8.Development Class
9.Event
10.File Stream
11.Generics
12.GUI Windows Form
13.Language Basics
14.LINQ
15.Network
16.Office
17.Reflection
18.Regular Expressions
19.Security
20.Services Event
21.Thread
22.Web Services
23.Windows
24.Windows Presentation Foundation
25.XML
26.XML LINQ
C# / C Sharp by API
C# / CSharp Tutorial
C# / CSharp Open Source
C# / C Sharp » Language Basics » DLL LibraryScreenshots 
Loading Assemblies: Making it Dynamic

/*
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);
    }
}

           
       
Related examples in the same category
1.File to be used as a library assembly
2.File to be used as a library assembly 2
3.Creates a library assembly
4.Calling Native DLL FunctionsCalling Native DLL Functions
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.