А можно ли запретить "обычный" вызов метода?
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 01.08.17 17:27
Оценка:
Есть у меня хранимые процедуры в SQL-базе и мэппинг на EntityFramework для вызова тех хранимых процедур.
Т.к. это SQL, там бывают довольно длинные списки параметров. Вот, например:

var studies = ctx.usp_SearchStudies(
    patientID:        patientId,
    facilityMRN:      facilityMrn,
    firstName:        firstName,
    lastName:         lastName,
    patientName:      patientName,
    firstAndLastName: firstAndLastName,
    middleName:       middleName,
    patientPrefix:    patientPrefix,
    patientSuffix:    patientSuffix,
    gender:           gender,
    modality:         modality,
    aetitle:          aetitle,
    studyId:          studyId,
    description:      description,
    accession:        accession,
    refPhysician:     refPhysician,
    studyDateFrom:    studyDateFrom,
    studyDateTo:      studyDateTo,
    perPhysician:     perPhysician);


Все или почти все параметры — одного типа (string). Если вызывать процедуру без указания имён параметров, то там запросто можно дико накосячить.
Можно ли как-то средствами C# запретить вызов метода без указания имён параметров? Т.е. чтоб вот такая инструкция сразу давала ошибку компилляции:

var studies = ctx.usp_SearchStudies(
    patientId,
    facilityMrn,
    firstName,
    lastName,
    patientName,
    firstAndLastName,
    middleName,
    patientPrefix,
    patientSuffix,
    gender,
    modality,
    aetitle,
    studyId,
    description,
    accession,
    refPhysician,
    studyDateFrom,
    studyDateTo,
    perPhysician);


?
С уважением, Artem Korneev.
Отредактировано 01.08.2017 17:27 Artem Korneev . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.