В проектах Visual Studio я часто использую частичные классы для извлечения определенных и единообразных данных, таких как запросы к базе данных или идентификаторы трассировки, из кода. Пример:
public partial class GremlinsProvider
{
public Mogwai GetAMogwai()
{
TraceEvent(TraceEventType.Start, TraceId.SearchForMogwai,
"Querying the database for a Mogwai.");
var mogwai = new DataQuery(Queries.FindMogwai).ReadRow<Mogwai>();
TraceEvent(TraceEventType.Stop, TraceId.MogwaiFound, "Found a Mogwai.");
return mogwai;
}
}
public partial class GremlinsProvider
{
private class Queries
{
public const FindMogwai = @"
select top 1
from [Gremlins]
where [IsAvailable] = 1 and [PetName] = N'Mogwai'";
}
}
public partial class GremlinsProvider
{
private enum TraceId
{
SearchForMogwai,
MogwaiFound,
}
}
В этом случае я создаю три файла:
GremlinsProvider.cs
который содержит логику,GremlinsProvider.Queries.cs
который содержит константные строки с запросами к базе данных,GremlinsProvider.Trace.cs
который содержит перечисление идентификаторов трассировки.
В обозревателе решений я хочу, чтобы эти файлы выглядели свернутыми. Например, GremlinsProvider.cs
будет содержать GremlinsProvider.Queries.cs
и GremlinsProvider.Trace.cs
как и его дочерние элементы , так же, как Solution Explorer, сворачивает файлы конструктора или ресурсов в проекте Windows Forms.
Можно ли сделать это с помощью существующих решений (т.е. без необходимости писать собственное расширение), либо путем настройки Visual Studio 2010, либо через расширение?