varused to introduce an implicitly typed local variable . The type is known at compile time and is inferred from the type of expression on the right side of the initialization statement. Using your example:
var variable_name = new class_a();
the compiler reports what new class_a()is an expression that gives an object of type class_a. Therefore, it is variable_namedeclared as a type class_a. This code is fully equivalent
class_a variable_name = new class_a();
, . , .