Új hozzászólás Aktív témák
-
ArchElf
addikt
Egy példa a lentire(kicsit meg lett vágva). Az példa egy dinamikusan betölthető adatszolgáltató interfésze + betöltő osztálya. Természetesen az adatszolgáltatókat külön meg kell(ett) írni hozzá

using System;
using System.Collections.Generic;
using System.Reflection;
using System.Text;
namespace MonitorUser.Connector
{
public static class ConnectorLoader
{
/// <summary>
/// Collection of all loaded IConnector objects
/// </summary>
public static List<IConnector> Connectors = new List<IConnector>();
/// <summary>
/// Initialize a new IConnector instance and start it
/// </summary>
/// <param name="location">IConnector dll location</param>
/// <param name="name">IConnector full class name</param>
/// <param name="connectionString">Connection string for starting the connector</param>
/// <param name="initData">Additional initialization data</param>
/// <returns>Initialized and started IConnector instance</returns>
public static IConnector Load(string location, string name, string connectionString, ConnectorInitData initData)
{
try
{
IConnector ic = null;
Assembly asm = Assembly.LoadFrom(location);
Type tp = asm.GetType(name);
object p = Activator.CreateInstance(tp);
ic = (IConnector)p;
ic.Connect(connectionString, initData);
Connectors.Add(ic);
return ic;
}
catch
{
throw;
}
}
}
public interface IConnector
{
event EventHandler NewItem;
bool Connect(string connectionString, ConnectorInitData initData);
bool Disconnect();
bool Check();
bool Check(params string[] indexer);
ConnectorData GetNextItem();
bool SetItem(ConnectorData item);
bool SetItem(string referrer);
}
public struct ConnectorInitData
{
public long Position;
public DateTime StartTime;
public string QueryString;
public ConnectorInitData(long Position, DateTime StartTime, string QueryString)
{
this.Position = Position;
this.StartTime = StartTime;
this.QueryString = QueryString;
}
}
public struct ConnectorData
{
public long Identifier;
public List<string> Headers;
public List<Type> Types;
public List<object> Values;
public ConnectorData(long id, List<string> headers, List<Type> types, List<object> values)
{
this.Identifier = id;
this.Headers = headers;
this.Types = types;
this.Values = values;
}
}
}
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Parfüm topik
- Kormányok / autós szimulátorok topikja
- Doky586: Windows telepítés utáni beállítások
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Google Pixel 10a – évismétlés
- Hard Disk Sentinel: S.M.A.R.T., okosan
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- EA Sports WRC '23
- Amlogic S905, S912 processzoros készülékek
- További aktív témák...
- Eladó G pro superlight 2 se Unusual way sports UHWM skate talpakkal.
- Fehér konfig - i7-4790k/ROG Strix GTX 1070/Wifi/Rengeteg új-dobozos alkatrész/AJÁNDÉK Resident Evil
- 3D 4K Oled Dolby Vision (LGOLED C6EP/LGOLED E6P/LG OLEDG6P)
- 3D 4K Oled Dolby Vision (LGOLED C6EP/LGOLED E6P/LG OLEDG6P)
- HP 150W töltők (19.5V x 7.7A) kis kék, kerek, 4.5 x 3.0 mm
- HIBÁTLAN iPhone 14 Plus 256GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS4561, 100% Akksi
- Apple iPhone 13 128GB,Újszerű,Adatkabel,12 hónap garanciával
- Samsung Galaxy Book PRO 2 /i7-1260P/16GB/512SSD/AMOLED/13.3/Intel Iris Xe/Gari
- AKCIÓ! 4TB Seagate Barracuda ST4000 SATA HDD meghajtó garanciával hibátlan működéssel
- ÁRGARANCIA!Épített KomPhone i5 14600KF 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

