01.08.2017 А можно ли запретить "обычный" вызов метода?
 
Есть у меня хранимые процедуры в 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);


?

 
 
 
 
10.12  .NET Reactor
15.11  n
15.11  C# ClickOnce
 
01.08  Task Context
01.08  XLSX в Mono