Что я знаю; ты не сможешь это сделать.
Хотели ли вы добавить метод «Initialize» или что-то подобное?
public void Initialize<T>(T obj)
{
object[] attributes = obj.GetType().GetCustomAttributes(typeof(SerializableAttribute));
if(attributes == null || attributes.Length == 0)
throw new InvalidOperationException("The provided object is not serializable");
}
Я не проверял этот код, но надеюсь, что вы поняли мою точку зрения.