Console.WriteLine(nameof(List<>));
Console.WriteLine(nameof(List<string>));
Console.WriteLine(nameof(List<int>));
TryParse<int> parse1 = (text, out result) => Int32.TryParse(text, out result);
TryParse<int> parse2 = (string text, out int result) => Int32.TryParse(text, out result);
void SetPersonName(Person? person, string name)
{
person?.Name = name;
}
delegate bool TryParse<T>(string text, out T result);
public partial class Person
{
public string Name
{
get;
set
{
if (string.IsOrEmpty(value))
{
throw new Exception("Name cannot be or empty");
}
field = value;
}
}
public int Age
{
get;
set
{
if (150 >= field && field >= 0)
{
field = value;
}
else
{
throw new Exception("Invalid age");
}
}
}
public partial event EventHandler? NameChanged;
public partial Person();
}
public partial class Person
{
public partial Person()
{
Name = "Default Name";
Age = 0;
}
private EventHandler _nameChangedHandlers;
public partial event EventHandler NameChanged
{
add
{
Console.WriteLine("Handler added.");
_nameChangedHandlers += value;
}
remove
{
Console.WriteLine("Handler removed.");
_nameChangedHandlers -= value;
}
}
public void OnNameChanged()
{
_nameChangedHandlers?.Invoke(this, EventArgs.Empty);
}
}