Вы можете сделать этот класс абстрактным, и тогда подкласс должен реализовать фактический вызов базы данных:
public abstract class PaginationWrapper<T> {
private int currentPage = 1;
private int pageSize = 100;
public ArrayList<T> getNextPage() {
currentPage++;
int startRow = currentPage * pageSize;
// here we delegate to the implementation
return getNextPage(startRow, pageSize);
}
protected abstract ArrayList<T> getNextPage(int startRow, int pageSize);
}
И затем создать 2 подкласса
public class JobPagination extends PaginationWrapper<Job> {
protected ArrayList<Job> getNextPage(int startRow, int pageSize) {
return /* list from database */
}
}
public class ContractPagination extends PaginationWrapper<Contract> {
protected ArrayList<Contract> getNextPage(int startRow, int pageSize) {
return /* list from database */
}
}
Теперь общая логика упакована в PaginationWrapper
, но фактическая логика базы данных теперь находится в определенном подклассе.
Поскольку вы уже используете Visual Studio, почему бы просто не написать код?
foreach (var f in new DirectoryInfo(@"...").GetFiles("*.cs", SearchOption.AllDirectories)) {
string s = File.ReadAllText(f.FullName);
File.WriteAllText (f.FullName, s, Encoding.UTF8);
}
Только три строки кода! Я уверен, что вы сможете написать это меньше чем за минуту: -)
Если вам нужно сделать это в PowerShell, вот мой маленький ход:
Function Write-Utf8([string] $path, [string] $filter='*.*')
{
[IO.SearchOption] $option = [IO.SearchOption]::AllDirectories;
[String[]] $files = [IO.Directory]::GetFiles((Get-Item $path).FullName, $filter, $option);
foreach($file in $files)
{
"Writing $file...";
[String]$s = [IO.File]::ReadAllText($file);
[IO.File]::WriteAllText($file, $s, [Text.Encoding]::UTF8);
}
}
Спасибо за ваши решения, этот код у меня сработал:
Dim s As String = ""
Dim direc As DirectoryInfo = New DirectoryInfo("Your Directory path")
For Each fi As FileInfo In direc.GetFiles("*.vb", SearchOption.AllDirectories)
s = File.ReadAllText(fi.FullName, System.Text.Encoding.Default)
File.WriteAllText(fi.FullName, s, System.Text.Encoding.Unicode)
Next
Это может помочь.
ссылка удалена, так как исходная ссылка была искажена спам-сайтом.
Краткая версия: отредактируйте один файл, выберите «Файл» -> «Дополнительные параметры сохранения». Вместо того, чтобы менять UTF-8 на Ascii, измените его на UTF-8. Редактировать: Убедитесь, что вы выбрали опцию без маркера порядка байтов (BOM).
Установить кодовую страницу и нажать ОК. Кажется, что он сохраняется только после текущего файла.