Here is an example of how I am seeing Operations being readOnly. Some confidence I have that this is the intended use is this test here:
UserDataServiceClientTest.g.cs
UserDataServiceClient service = client.GetService(Services.V10.UserDataService);
List<UserDataOperation> userDataOperations = new List<UserDataOperation>(hashedEmails.Count);
UploadUserDataRequest uploadUserDataRequest = new UploadUserDataRequest() { CustomerId = customer, CustomerMatchUserListMetadata = { UserList = returnIt.FirstOrDefault().ResourceName } };
uploadUserDataRequest.Operations = userDataOperations;
service.UploadUserData(uploadUserDataRequest);
Google.Protobuf.Collections.RepeatedField<UserDataOperation> UploadUserDataRequest.Operations { get; }
Required. The list of operations to be done.
CS0200: Property or indexer '
UploadUserDataRequest.Operations' cannot be assigned to -- it is read only