попробуйте так:
app.use(express.static(__dirname + '/public'));
app.use('/public', express.static(__dirname + '/public'));
и
res.sendFile(path.resolve(__dirname+'/public/', 'pages/post.html'));
Если вы застряли в C # 2.0, используйте анонимный метод - просто немного более грубое лямбда-выражение (игнорируя деревья выражений ):
List<testObject> objectList = new List<testObject>();
int desiredGroupLevel = 10;
objectList.FindAll(delegate (testObject item)
{
return item._groupLevel == desiredGroupLevel;
});
Или вы все равно можете использовать вызов метода для начала:
List<testObject> objectList = new List<testObject>();
int desiredGroupLevel = 10;
objectList.FindAll(CheckGroupLevel(desiredGroupLevel));
...
public Predicate<testItem> CheckGroupLevel(int level)
{
return delegate (testItem item)
{
return item._groupLevel == level;
};
}
Если вы используете Visual Studio 2008, но ориентированы на .NET 2.0, вы все равно можете использовать лямбда-выражение. Это просто трюк с компилятором, который не требует поддержки фреймворка (опять же, игнорируя деревья выражений).
List<testObject> objectList = new List<testObject>();
// populate objectList with testObjects
objectList.FindAll(delegate(testObject o){ return GroupLevel(o, 0);} );
private static bool GroupLevel(testObject item, int groupLevel)
{ return item._groupLevel == groupLevel; }
Кроме того, если вы используете VS 2008, вы все равно можете использовать лямбда-выражения при компиляции в 2.0. Он использует компилятор 3.5 с целью 2.0, и мы использовали его в течение нескольких месяцев.
int groupLevel = 0;
objectList.FindAll(
delegate(testObject item)
{
return item._groupLevel == groupLevel;
});
Это анонимный делегат, он закрывает лексическую область своего родителя, поэтому он может видеть "groupLevel".
Работает в C # 2.0 и выше. Я бы порекомендовал использовать лямбду, если в будущем вы перейдете на .NET 3.5.