Question

Remarque: Tous les exemples de code sont considérablement simplifiés.

J'ai une DLL définie comme:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Web;

namespace RIV.Module
{
    public interface IModule
    {
        StringWriter ProcessRequest(HttpContext context);
        string Decrypt(string interactive);
        string ExecutePlayerAction(object ParamObjectFromFlash);
        void LogEvent(object LoggingObjectFromFlash);
    }
}

Maintenant, en dehors de ma solution, d'autres développeurs peuvent définir des classes de béton et les déposer dans le dossier bin de mon application. Peut-être quelque chose comme:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using RIV.Module;

namespace RIV.Module.Greeting
{
    public class Module : IModule
    {
        public System.IO.StringWriter ProcessRequest(System.Web.HttpContext context)
        {
            //...
        }
        public string Decrypt(string interactive)
        {
            //...
        }
        public string ExecutePlayerAction(object ParamObjectFromFlash)
        {
            //...
        }
        public void LogEvent(object LoggingObjectFromFlash)
        {
            //...
        }
    }
}

Maintenant, dans mon application, j'aurais besoin de savoir qu'un nouveau module était disponible (je devine via web.config ou quelque chose dans ce sens) et ensuite être en mesure de l'appeler en fonction d'un déclencheur dans le tableau de la campagne de la base de données (qui mappe les cartes au module à utiliser pour cette campagne spécifique).

J'essaie de l'instancier de cette façon:

var type = typeof(RIV.Module.Greeting.Module);
var obj = (RIV.Module.Greeting.Module)Activator.CreateInstance(type);

Cependant, le compilateur est enracinement parce qu'une référence n'a jamais été réglée Riv.module.greeting.dll!

Qu'est-ce que je fais mal?

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top