извините за мою глупость, но я ищу способ построить объект из класса, который подключается к службе, а также содержит другой класс с методами для службы.
Проблема, с которой я сталкиваюсь, заключается в том, чтобы найти способ подключиться к услуге только один раз. Я отказываюсь использовать глобальные переменные и тому подобное.
Мне трудно понять концепции объектов в C #, поскольку мой опыт программирования в основном основан на JavaScript.
Любая помощь наиболее ценится.
namespace Tests.Classes
{
public class L
{
dynamic uri;
dynamic service;
dynamic credentials;
dynamic proxy;
public L L()
{
this.uri = new Uri("bladie bladie blah");
this.credentials = new ClientCredentials();
this.credentials.Windows.ClientCredential = (NetworkCredential)CredentialCache.DefaultCredentials;
this.proxy = new OrganizationServiceProxy(this.uri, null, this.credentials, null);
this.service = (IOrganizationService)this.proxy;
return this;
}
public class OL
{
public OL OL(dynamic a)
{
this.service = parent.service; // <- doesn't compile
return this;
}
}
}
}
Чтобы было понятно, как это называется:
var l = new L();
l.OL("haha");
Может быть, мой код недостаточно понятен. Это будет держать фанатиков классификации в страхе: P.
namespace Tests.Classes
{
public class L
{
Uri uri;
IOrganizationService service;
ClientCredentials credentials;
OrganizationServiceProxy proxy;
public L L()
{
this.uri = new Uri("hBladie Bladie Blah");
this.credentials = new ClientCredentials();
this.credentials.Windows.ClientCredential = (NetworkCredential)CredentialCache.DefaultCredentials;
this.proxy = new OrganizationServiceProxy(this.uri, null, this.credentials, null);
this.service = (IOrganizationService)this.proxy;
return this;
}
public class OL
{
Entity entity = new Entity();
IOrganizationService service = null;
public OL OL(dynamic a)
{
if (a is Entity)
{
this.entity = a;
}
if (a is string)
{
this.entity = new Entity(a);
}
return this;
}
public OL attr(dynamic key, dynamic value)
{
this.entity[key] = value;
return this;
}
public Boolean save()
{
this.parent.service.create(this.entity); // parent does not exist
}
}
}
}
Я ненавижу грязное программирование, мне нравится стиль jQuery.
Вот как должен использоваться код:
new L().OL("haha").attr("Hello", "world").save();
или
var l = new L();
l.OL("HAHA").attr("foo", "bar").save();
l.OL("pff").attr("boppa", "deebop").save();