Автоматические свойства в C# 3. Нужно ли объявлять тело для get, если я объявляю его для set?C#

Место общения программистов C#
Ответить
Anonymous
 Автоматические свойства в C# 3. Нужно ли объявлять тело для get, если я объявляю его для set?

Сообщение Anonymous »

Я использую VS 2008, и на страницах свойств проекта я вижу, что нацелен на .Net 3.5.

Вот ошибка, которую я получаю при попытке компиляции:


AMSDataModels.Vehicle.VIN.get' должен объявить тело, поскольку оно не помечено как абстрактное, внешнее или частичный


И вот код:

Код: Выделить всё

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace AMSDataModels
{
public class Vehicle
{
//NodeID for datastore persistance
public Guid NodeID { get; set; }

public string VIN { get;
set {
if (value.Length != 17) throw new ArgumentOutOfRangeException("VIN", "VIN must be 17 characters");
} }

public string Make { get; set; }
public string Model { get; set; }
}
}
Если я сниму тело со съемочной площадки так, что это просто:

Код: Выделить всё

public string VIN { get; set; }
Все работает, но я теряю возможность проверять установленный VIN.

Есть ли у кого-нибудь предложения, как это исправить или лучший способ решить проблему?

Мне очень нравится сокращенная запись, но проверка правильности ввода тоже важна!

Подробнее здесь: https://stackoverflow.com/questions/112 ... eclare-one
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»