Я пытаюсь изменить объект после его создания. Я хотел бы установить свойства этого объекта на -1 для int или string.empty "" для строки. Bellow - пример кода того, что у меня уже есть.Возвращенный модифицированный тип типа
class TestClassAccess{
public int MyPropInt { get; set { ModifyOnAccessDenied<int>(value); } }
public string MyPropString { get; set { ModifyOnAccessDenied<string>(value); } }
public TestClassAccess() { }
private T ModifyOnAccessDenied<T>(T propertyToChange) {
var _hasAccess = false; //not really important how this is made
if (!_hasAccess)
{
if (propertyToChange is string)
propertyToChange = string.Empty;
else if (propertyToChange is int)
propertyToChange = -1;
}
return propertyToChange;
}
}
так что вопросы возникают у меня.
- Он не компилируется, поскольку я не могу преобразовать свойство, чтобы изменить на строку или int.
- Я не завязываю, если я могу использовать множество методов, подобных этому.
- Возможно ли это, или я буду амбициозным.
Thank.s KJ
Я изменил мой ответ с методом, чтобы сделать это с дженерики. Он требует .Net 4.0, хотя – Corylulu