Результаты поиска
Добавление метода к существующему экземпляру объекта
Я читал, что можно добавить метод к существующему объекту (т. е. не в определении класса) в Python.
Я понимаю, что это не всегда хорошо делать. Но как это сделать?
Статические методы в интерфейсе / абстрактном классе
Во-первых, я понимаю причины, по которым интерфейс или абстрактный класс (в терминологии .NET/C#) не может иметь абстрактных статических методов. Мой вопрос тогда больше сосредоточен на лучшем дизайнерском решении.
Мне нужен набор классов "helper", каждый из которых имеет свои собственные статические методы, так что если я получу объекты A, B и C от стороннего поставщика, у меня могут быть вспомогательные классы с такими методами, как
AHelper.RetrieveByID(string id); AHelper.RetrieveByName(string name); AHelper.DumpToDatabase();
Поскольку мои классы AHelper, BHelper и CHelper в основном будут иметь одни и те же методы, то, по-видимому, имеет смысл переместить эти методы в интерфейс, из которого эти классы затем выводятся. Однако желание, чтобы эти методы были статическими, не позволяет мне иметь универсальный интерфейс или абстрактный класс, из которого все они будут производными.
Я всегда могу сделать эти методы нестатическими, а затем сначала создать экземпляр объектов, таких как
AHelper a = new AHelper(); a.DumpToDatabase();
Однако этот код не кажется мне таким интуитивным. Какие у вас есть предложения? Следует ли мне вообще отказаться от использования интерфейса или абстрактного класса (ситуация, в которой я сейчас нахожусь), или это может быть переработано для выполнения дизайна, который я ищу?
Дженерики в c# и доступ к статическим членам Т
Мой вопрос касается c# и как получить доступ к статическим мемберам ... Ну, я действительно не знаю, как это объяснить (что в некотором роде плохо для вопроса, не так ли?) Я просто дам вам пример кода:
Class test<T>{
int method1(Obj Parameter1){
//in here I want to do something which I would explain as
T.TryParse(Parameter1);
//my problem is that it does not work ... I get an error.
//just to explain: if I declare test<int> (with type Integer)
//I want my sample code to call int.TryParse(). If it were String
//it should have been String.TryParse()
}
}
Так что спасибо вам, ребята, за ваши ответы (кстати, вопрос в том, как бы я решил эту проблему без получения ошибки). Это, наверное, довольно простой вопрос для вас!
Спасибо, Никлас
Edit: спасибо всем за ваши ответы!
Хотя я думаю, что фраза try - catch является самой элегантной, я знаю по своему опыту работы с vb, что это действительно может быть облом. Я использовал его один раз, и мне потребовалось около 30 минут, чтобы запустить программу, которая позже заняла всего 2 минуты для вычисления только потому, что я избегал try - catch.
Вот почему я выбрал утверждение swich в качестве лучшего ответа. Это делает код более сложным, но с другой стороны, я думаю, что он будет относительно быстрым и относительно легким для чтения. (Хотя я все еще думаю, что должен быть более элегантный способ ... может быть, на следующем языке, который я изучаю: P )
Хотя, если у вас есть какое-то другое предложение, я все еще жду (и готов принять участие)
Вызов веб-метода интерфейса Project Server из установщика msi
Я использую проект установки Visual Studio web для установки приложения, которое расширяет функциональные возможности Project Server. Я хочу вызвать метод из PSI (интерфейс Project Server) из одного из пользовательских действий моего проекта установки, но каждый раз получаю ошибку "401 Unauthorized access". Что я должен сделать, чтобы получить доступ к PSI? Тот же код, при использовании из консольного приложения, работает без каких-либо проблем.
Почему я не могу объявить статические методы в интерфейсе?
Тема говорит больше всего - в чем причина того, что статические методы не могут быть объявлены в интерфейсе?
public interface ITest {
public static String test();
}
Приведенный выше код выдает мне следующую ошибку (по крайней мере, в Eclipse): "недопустимый модификатор для метода интерфейса ITest.test(); разрешены только публичные & абстрактные".
Каков ваш опыт проверки программных моделей?
- Для каких типов приложений вы использовали проверку моделей ?
- Какой инструмент проверки модели вы использовали?
- Как бы вы суммировали свой опыт w/ этой техники, в частности, в оценке ее эффективности в обеспечении более высокого качества программного обеспечения?
В ходе моих исследований у меня была возможность использовать Spin, и это вызвало мое любопытство относительно того, сколько фактической проверки модели происходит и какую ценность получают организации из нее. В моем опыте работы я работал над бизнес-приложениями, где (естественно)нет никакого рассмотрения применения формальной проверки к логике. Я бы очень хотел узнать о SO людях, которые проверяют опыт и мысли по этому вопросу. Станет ли проверка моделей когда-нибудь более широко используемой развивающейся практикой, которую мы должны иметь в нашем инструментарии?
451   5   10:02, 7th August, 2020