Есть у меня хранимые процедуры в 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);
?