Эй, я думаю, что у меня есть неправильная идея, но я не уверен, что лучше. Я хочу класс с переменной-членом, который может быть любого типа, в зависимости от того, что необходимо в то время. До сих пор, у меня есть что-то вроде этого:Общие члены класса в C#?
public class ConfigSetting<T> {
private T value;
public T GetValue() {
return value;
}
public void ChangeValue() {
}
public ConfigSetting(string heading, string key) {
this.value = DerivedMethods.configsettings.SettingGroups[heading].Settings[key].RawValue;
}
}
Тип возвращаемый справа от «this.value» линии является строкой, в настоящее время. Я знаю, здесь мне кажется, что мне не нужно использовать ничего, кроме типа строки, но в итоге я разберу конструктор, так что «this.value» может быть строкой, int, float или bool.
Как бы то ни было, мой компилятор говорит: «Невозможно преобразовать« строку »в« Т », поэтому я предполагаю, что я делаю что-то очень обратное.
спасибо.
Спасибо. Это компилируется (хотя мне еще предстоит проверить его). У меня есть два вопроса: 1: Зачем мне проходить предмет? 2: Что произойдет после этого, если я попытаюсь использовать методы String по значению? C# теперь знает, что значение имеет тип String? – Xenoprimate
не RawValue всегда возвращает строку? не будет ли преобразование в int, long и т. д.? – bendewey
Да, но, как я уже сказал в своем первоначальном вопросе, я намерен расширить конструктор. – Xenoprimate