routes.MapRoute(
"UsersGeneric",
"{action}/{id}",
new {
controller = "Users",
action = "User",
id = UrlParameter.Optional
},
new[] { controller = "Users", id=@"\d+" },
new[] { "Proj.Controllers" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new {
controller = "Home",
action = "Index",
id = UrlParameter.Optional
},
new[] { "Proj.Controllers" }
);
const
, потому что этот модификатор относится к состоянию, которого обычная функция не имеет. err
при выходе из функции what
в тот же момент умирает. По Стандарту срок жизни локальных переменных может продлеваться лишь до смерти ближайшей константной ссылки на них. Срок жизни других данных не гарантируется после покидания скоупа. Мне кажется, здесь имеет место еще и компиляторозависимое колдунство.include
, а сорцы - в src
. Согласитесь, стремно было бы воспроизводить логическую иерархию дважды. А с помощью фильтров (aka виртуальных папок) можно легко всё сгруппировать так, как душе угодно.a[10]
) и выделение блоков памяти, на которые можно ссылаться через указатель (int *a = new int[10];
)int a[10];
a[333] = 5; // запись в ячейку памяти
//по адресу 334 * sizeof(int) от начала массива.
new
) нельзя определить их реальные размеры (для статических массивов мы можем сделать sizeof(a)/sizeof(int)
). Кроме того передавать многомерные массивы в функции, оперировать с динамическими массивами (изменяющими размер в процессе работы) и многие другие проблемы. Для их решения существует класс std::vector
, который дарит нам абстракцию над массивом в хипе.std::array
, который является абстракцией над статическим массивом. var Human = (function (person) {
this.firstName = "John";
this.lastName = "Doe";
this.age = person.age || 50;
this.eyeColor = person.eyeColor || "blue";
this.toString = function() {
return person.age + ", " + person.eyeColor;
};
});
var pers = new Human({ eyeColor: "Yellow" });
//
console.log(pers);
var SampleClass = (function(localFirstDependencyName, localSecondDependencyName){
'use strict';
var _defaultSettings = {
option: 'option'
}
var constructor = function(settings){
this._settings = $.extend(this._settings || {}, _defaultSettings, settings);
this.publicField = null;
this._protectedField = null;
this._privateField = null;
};
$.extend(constructor.prototype, {
publicConstant: 'Constant',
protectedConstant: 'Constant',
_privateConstant: 'Constant',
//#region Public
publicMethod: function () {
this._protectedMethod();
},
//#endregion
//#region Protected
_protectedMethod: function () {
},
//#endregion
//#region Private
_privateMethod: function(self, value){
},
//#endregion
});
return constructor;
}(globalFirstDependencyName, globalSecondDependencyName));
Action
и передавать в Control.Invoke()
формы. Пример IQuerable
в частности. С помощью этого интерфейса и LINQ вы сможете формировать запросы (которые рендерятся в нативный SQL), а не просто фильтровать коллекции.private IQuerable<Student> GetLogs()
{
return context.Logs;
}
public IEnumerable<Student> GetLogsForStudent(int id, DateTime from, DateTime to)
{
return GetLogs().Where(x => x.Id == id
&& x.Date >= from
&& x.Date <= to)
.ToList();
}
Все используют lazy loading?
Если мне нужен в 1 контроллере/сервисе не 1 репозиторий? мне по 1 их подключать?
Изачем он для юнит тестов если можно спокойно moqнуть весь dbcontext?
dbcontext
мокать нет смысла хотя бы потому, что он гвоздями к EF прибит. СУБД менять - это не такая распространенная практика, а вот от ORM (и от EF в частности) отказываться в пользу производительности - это реальный кейс с ростом нагрузки. interruptionRequested
, например), которую треду необходимо проверять самостоятельно между атомарными операциями своей полезной нагрузки. ("Скопировал файл, проверил - false
, скопировал следующий, проверил - false
, скопировал еще один, проверил - true
, завершился").class Worker {
std::string _name;
...
public:
bool operator==(const Worker& other) const {
return _name == other.name;
}
};
//....
std::vector<Worker> workers = {...};
int count = std::count(begin(workers), end(workers), Worker("Vasili Pupkin"));
o
и o1
) разные, внутри каждого свой obj
.function Singleton () {
if (Singleton._instance) return Singleton._instance;
Singleton._instance = this;
};
var o = new Singleton();
var o1 = new Singleton();
console.log(o === o1); // true
o.prop = 's';
console.log(o1.prop); // s
int size = 0;
cout << "Введите размер массива: "; cin >> size;
int *arr = new int[size];
const int SIZE = 333 + 768 * 2;
int arr[SIZE];
чувствует инструменты