protobuf-net - это сериализатор значений; он ничего не знает о методах, кроме свойств. Если вы используете тот же (или совместимый) тип, то метод будет представлен автоматически, но это не имеет ничего общего с protobuf-net (или любой другой сериализацией).
Re тема добавления атрибутов; в текущем выпуске обычно требуется что-то , чтобы знать, какие свойства сериализовать (и что более важно: с какими идентификаторами). Там - это неявный режим, но я не рекомендую его, если вы не знаете , что вы больше никогда не будете менять тип. Когда-либо. На всех.
В "v2" вы можете удалить атрибуты; у вас есть возможность использовать для этого внешнюю модель, поэтому у вас может быть:
var model = TypeModel.Create();
model[typeof(MeterSizeInfo)].Add("MeterSizeId", "MeterSizeName");
(не указывайте мне точный API, но что-то в этом роде)
Затем вы можете использовать model.Serialize
и т. Д.