immaginavo ma volevo essere certo...
ti faccio un esempio :
codice:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Mia_API miaApi = new Mia_API();
miaApi.Proprieta1 = "QUELLOCHEVUOI";
miaApi.Proprieta2 = "QUELLOCHETIPARE";
miaApi.Metodo1();
miaApi.Metodo2();
ClasseLavoroAPI clAPI = new ClasseLavoroAPI();
clAPI.MetodoLavoroAPI(miaApi.API);
Console.ReadLine();
}
}
public class Mia_API
{
API_COD_SCONOSCIUTO api;
public API_COD_SCONOSCIUTO API { get { return this.api; } protected set { this.api = value; } }
public Mia_API()
{
this.api = new API_COD_SCONOSCIUTO();
}
public void Metodo1()
{
// codice
this.api.Metodo1();
}
public void Metodo2()
{
// codice
this.api.Metodo2();
}
public string Proprieta1 { get { return this.api.Proprieta1; } internal set { this.api.Proprieta1 = value; } }
public string Proprieta2 { get { return this.api.Proprieta2; } internal set { this.api.Proprieta2 = value; } }
}
public class API_COD_SCONOSCIUTO
{
public API_COD_SCONOSCIUTO() { }
string proprieta1;
public string Proprieta1 { get { return this.proprieta1; } set { this.proprieta1 = value; } }
string proprieta2;
public string Proprieta2 { get { return this.proprieta2; } set { this.proprieta2 = value; } }
public void Metodo1() { }
public void Metodo2() { }
}
public class ClasseLavoroAPI
{
public ClasseLavoroAPI() { }
public void MetodoLavoroAPI(API_COD_SCONOSCIUTO api)
{
Console.WriteLine(api.Proprieta1);
Console.WriteLine(api.Proprieta2);
}
}
}
praticamente nella classe wrapper crei un oggetto "base" che tieni in una proprietà di sola lettura in modo da averlo disponibile ma allo stesso tempo non modificabile direttamente.
visto cosi' non mi pare abbia molta logica wrappare in questo caso, pero' sicuramente avrai dei buoni motivi per farlo, quindi il suggerimento preciso posso dartelo solo se so effettivamente cosa vuoi fare e perchè lo fai (per nascondere, per semplificare ecc. ecc.) perchè ci sono un infinità di modi per fare cose del genere ed ognuno ha una sua logica.