how to create an empty object in c#
I don't thing there is a conventional way to do what you're asking for as the default type for classes is null. However, you can use reflection to recursively loop through the properties, looking for public properties with parameter-less constructors and initialize them. Something like this should work (untested):
void InitProperties(object obj)
{
foreach (var prop in obj.GetType()
.GetProperties(BindingFlags.Public | BindingFlags.Instance)
.Where(p => p.CanWrite))
{
var type = prop.PropertyType;
var constr = type.GetConstructor(Type.EmptyTypes); //find paramless const
if (type.IsClass && constr != null)
{
var propInst = Activator.CreateInstance(type);
prop.SetValue(obj, propInst, null);
InitProperties(propInst);
}
}
}
Then you can use this like so:
var human = new Human();
InitProperties(human);
Are there any code examples left?
New code examples in category C#
-
C# 2022-03-27 22:40:23 c# movement script
-
C# 2022-03-27 22:15:17 Delete last modification on EntityFramework Core
-
C# 2022-03-27 22:15:02 file.create folder c#
-
C# 2022-03-27 19:25:04 Error inflating class android.support.constraint.ConstraintLayout
-
C# 2022-03-27 19:15:02 top down shooting in unity 2D
-
C# 2022-03-27 18:50:02 c# remove invalid directory characters
-
C# 2022-03-27 18:30:07 how to use K2 games Games parallax background
-
C# 2022-03-27 18:25:10 c# replace crlf
-
C# 2022-03-27 18:25:09 keycode for left mouse click unity