Skip to content

A more light-weight .Net port of Petrovich - склонение русских фамилий, имен и отчеств

License

Notifications You must be signed in to change notification settings

mikhail-barg/petrovich-net-lite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

petrovich-net-lite

Легковесный C#-порт проекта Petrovich - склонение русских фамилий, имен и отчеств. См. также официальный C#-порт (NPetrovich)

Build status NuGet

API

Весь публичный API доступен через класс Petrovich. Функционал:

Склонение одного элемента ФИО:
Petrovich petrovich = new Petrovich();  //при создании загружаются правила
Console.WriteLine(petrovich.Inflect("Маша", NamePart.FirstName, Case.Dative));  //"Маше"
Console.WriteLine(petrovich.Inflect("Паша", NamePart.FirstName, Case.Dative));  //"Паше"
Console.WriteLine(petrovich.Inflect("Саша", NamePart.FirstName, Case.Dative, Gender.Female)); //"Саше"
Сконение ФИО целиком:
Petrovich.FIO a = petrovich.Inflect(new Petrovich.FIO() { lastName = "Пушкин", firstName = "Александр", midName = "Сергеевич" }, Case.Dative);
Console.WriteLine(a); //"Пушкину Александру Сергеевичу"
Petrovich.FIO b = petrovich.Inflect(new Petrovich.FIO() { lastName = "Воробей" }, Case.Dative, Gender.Female);
Console.WriteLine(b); //"Воробей"
Petrovich.FIO c = petrovich.Inflect(new Petrovich.FIO() { lastName = "Воробей", firstName = "Александр" }, Case.Dative);
Console.WriteLine(c); //"Воробью Александру"
Определение пола:
Console.WriteLine(petrovich.GetGender("Пушкин", NamePart.LastName));  //Male
Console.WriteLine(petrovich.GetGender("Пушкин", null, "Сергеевич"));  //Male
Console.WriteLine(petrovich.GetGender(new Petrovich.FIO() { lastName = "Воробей", firstName = "Александр" })); //Male

Зависимости

Зависимости времени выполнения отсутствуют — никаких внешних бибилиотек!

Падежи:

Case Падеж Характеризующий вопрос
Nominative Именительный Кто? Что?
Genetive Родительный Кого? Чего?
Dative Дательный Кому? Чему?
Accusative Винительный Кого? Что?
Instrumental Творительный Кем? Чем?
Prepositional Предложный О ком? О чём?

About

A more light-weight .Net port of Petrovich - склонение русских фамилий, имен и отчеств

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages