#Теория
Ключевого слова partial
Разделяемые классы
Существует несколько ситуаций, когда желательно разделение определения класса.
-При работе над большими проектами распределение класса между различными файлами позволяет нескольким программистам работать с ним одновременно.
-При работе с использованием автоматически создаваемого источника код можно добавлять в класс без повторного создания файла источника. Visual Studio использует этот подход при создании форм Windows Forms, кода оболочки веб-службы и т. д. Можно создать код, который использует эти классы, без необходимости изменения файла, созданного в Visual Studio.
-При использовании генераторов источников для создания дополнительных функциональных возможностей в классе.
Пример:
Подробнее в документации: https://learn.microsoft.com/ru-ru/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods
Ключевого слова partial
Разделяемые классы
Существует несколько ситуаций, когда желательно разделение определения класса.
-При работе над большими проектами распределение класса между различными файлами позволяет нескольким программистам работать с ним одновременно.
-При работе с использованием автоматически создаваемого источника код можно добавлять в класс без повторного создания файла источника. Visual Studio использует этот подход при создании форм Windows Forms, кода оболочки веб-службы и т. д. Можно создать код, который использует эти классы, без необходимости изменения файла, созданного в Visual Studio.
-При использовании генераторов источников для создания дополнительных функциональных возможностей в классе.
Пример:
public partial class Coords
{
private int x;
private int y;
public Coords(int x, int y)
{
this.x = x;
this.y = y;
}
}
public partial class Coords
{
public void PrintCoords()
{
Console.WriteLine("Coords: {0},{1}", x, y);
}
}
class TestCoords
{
static void Main()
{
Coords myCoords = new Coords(10, 15);
myCoords.PrintCoords();
// Keep the console window open in debug mode.
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
}
// Output: Coords: 10,15
Подробнее в документации: https://learn.microsoft.com/ru-ru/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods
Docs
Разделяемые классы и методы - C#
Разделяемые классы и методы в C# разделяют определение класса, структуры, интерфейса или метода между двумя исходными файлами или более.
👍1
С наступающим новым годом! Что б баги были в радость, а релизы в сладость!) Успехов на работе и новых достижений в личной жизни!
🎉2
Новости:
Компания Unity объявила о новом масштабном сокращении — фирма уволит 25% своих сотрудников, речь идёт про 1800 человек на разных позициях. Это уже четвёртое сокращение в компании за последний год, предыдущее произошло в ноябре 2023-го , когда работу потеряло 265 сотрудников.
Решили что нельзя заработать на установках и решили сократить расходы на персонал?...
Компания Unity объявила о новом масштабном сокращении — фирма уволит 25% своих сотрудников, речь идёт про 1800 человек на разных позициях. Это уже четвёртое сокращение в компании за последний год, предыдущее произошло в ноябре 2023-го , когда работу потеряло 265 сотрудников.
Решили что нельзя заработать на установках и решили сократить расходы на персонал?...
https://vk.com/video-173146266_456244796
Когда решил пофиксить баги в легаси проекте
Когда решил пофиксить баги в легаси проекте
Vk
Клава
vk video
😱1
#Практика
Часто встречаю споры по вопросу оптимизации через Update\FixedUpdate\Coroutine и решил создать свой пример где бы были реализованы все эти способы для наглядной демонстрации.
Каждый желающий может скачать этот пример и попробовать на практике как идёт нагрузка на систему в зависимости от используемого метода обновления.
В данной проекте используется перемещение простых кубов через Transform.Translate(). Но при большом кол-ве объектов можно понять какой из методов является самым низко затратным.
Ссылка на проект - https://github.com/Animus-Mortis/Optimization-Models/tree/main
Пользуйтесь на здоровье)
Часто встречаю споры по вопросу оптимизации через Update\FixedUpdate\Coroutine и решил создать свой пример где бы были реализованы все эти способы для наглядной демонстрации.
Каждый желающий может скачать этот пример и попробовать на практике как идёт нагрузка на систему в зависимости от используемого метода обновления.
В данной проекте используется перемещение простых кубов через Transform.Translate(). Но при большом кол-ве объектов можно понять какой из методов является самым низко затратным.
Ссылка на проект - https://github.com/Animus-Mortis/Optimization-Models/tree/main
Пользуйтесь на здоровье)
GitHub
GitHub - Animus-Mortis/Optimization-Models
Contribute to Animus-Mortis/Optimization-Models development by creating an account on GitHub.
👍2
#Практика
Для создания списка с возможностью выбора нескольких вариантов можно использовать Flags:
Для создания списка с возможностью выбора нескольких вариантов можно использовать Flags:
[System.Flags]
public enum TypeBuild
{
None = 0,
FirstType = 1 << 1,
SecondType = 1 << 2,
BestType = 1 << 3,
}👍1🔥1