dir.by  
Programming, development, testing
C# (programming language)
Рефлексия (отражение) reflection в C#
Что такое рефлексия (отражение) в C# ? Класс Type
  Looked at 11031 times    
 Что такое рефлексия (отражение) в C# ? 
last updated: 30 October 2018
Рефлексия это:
• определение типа у обьекта во время выполнения приложения.
• это определение свойств, методов у объекта во время выполнения приложения.

Рефлексия позволяет динамически загружать сборку и
• исследовать эту сборку (узнать какие там классы, методы и т.д.)
• создавать экземпляры типов из сборки
Получение типа у объекта
Type type = ВашОбъект.GetType();
Пример
  C#     Создаем новое C# консольное приложение... и напишем код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
     class Program
     {
          static void Main(string[] args)
          {
               int value1 = 24;

               // получаем тип
               Type type = value1.GetType();

               // type.Name = "Int32"
          }
     }
}
Класс Type
Type - представляет информацию о типе

namespace System

Версия .NETFramework\v4.6.1\mscorlib.dll

Синтаксис
public abstract class Type : MemberInfo, _Type, IReflect

Constructors
protected Type();
Initializes a new instance of the System.Type class.

Properties
public static readonly char Delimiter;
Separates names in the namespace of the System.Type. This field is read-only.
public static readonly Type[] EmptyTypes;
Represents an empty array of type System.Type. This field is read-only.
public static readonly MemberFilter FilterAttribute;
Represents the member filter used on attributes. This field is read-only.
public static readonly MemberFilter FilterName;
Represents the case-sensitive member filter used on names. This field is read-only.
public static readonly MemberFilter FilterNameIgnoreCase;
Represents the case-insensitive member filter used on names. This field is read-only.
public static readonly object Missing;
Represents a missing value in the System.Type information. This field is read-only.
public static bool operator !=(Type left, Type right);
Indicates whether two System.Type objects are not equal. Полное описание ...
public static bool operator ==(Type left, Type right);
Indicates whether two System.Type objects are equal. Полное описание ...
public abstract Assembly Assembly { get; }
Gets the System.Reflection.Assembly in which the type is declared. For generic types, gets the System.Reflection.Assembly in which the generic type is defined. Полное описание ...
public abstract string AssemblyQualifiedName { get; }
Gets the assembly-qualified name of the type, which includes the name of the assembly from which this System.Type object was loaded. Полное описание ...
public TypeAttributes Attributes { get; }
Gets the attributes associated with the System.Type. Полное описание ...
public abstract Type BaseType { get; }
Gets the type from which the current System.Type directly inherits. Полное описание ...
public virtual bool ContainsGenericParameters { get; }
Gets a value indicating whether the current System.Type object has type parameters that have not been replaced by specific types. Полное описание ...
public virtual MethodBase DeclaringMethod { get; }
Gets a System.Reflection.MethodBase that represents the declaring method, if the current System.Type represents a type parameter of a generic method. Полное описание ...
public override Type DeclaringType { get; }
Gets the type that declares the current nested type or generic type parameter. Полное описание ...
public static Binder DefaultBinder { get; }
Gets a reference to the default binder, which implements internal rules for selecting the appropriate members to be called by System.Type.InvokeMember( System.String, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object,System.Object[],S ystem.Reflection.ParameterModifier[], System.Globalization.CultureInfo, System.String[]). Полное описание ...
public abstract string FullName { get; }
Gets the fully qualified name of the type, including its namespace but not its assembly. Полное описание ...
public virtual GenericParameterAttributes GenericParameterAttributes { get; }
Gets a combination of System.Reflection.GenericParameterAttributes flags that describe the covariance and special constraints of the current generic type parameter. Полное описание ...
public virtual int GenericParameterPosition { get; }
Gets the position of the type parameter in the type parameter list of the generic type or method that declared the parameter, when the System.Type object represents a type parameter of a generic type or a generic method. Полное описание ...
public virtual Type[] GenericTypeArguments { get; }
Gets an array of the generic type arguments for this type. Полное описание ...
public abstract Guid GUID { get; }
Gets the GUID associated with the System.Type. Полное описание ...
public bool HasElementType { get; }
Gets a value indicating whether the current System.Type encompasses or refers to another type; that is, whether the current System.Type is an array, a pointer, or is passed by reference. Полное описание ...
public bool IsAbstract { get; }
Gets a value indicating whether the System.Type is abstract and must be overridden. Полное описание ...
public bool IsAnsiClass { get; }
Gets a value indicating whether the string format attribute AnsiClass is selected for the System.Type. Полное описание ...
public bool IsArray { get; }
Gets a value that indicates whether the type is an array. Полное описание ...
public bool IsAutoClass { get; }
Gets a value indicating whether the string format attribute AutoClass is selected for the System.Type. Полное описание ...
public bool IsAutoLayout { get; }
Gets a value indicating whether the fields of the current type are laid out automatically by the common language runtime. Полное описание ...
public bool IsByRef { get; }
Gets a value indicating whether the System.Type is passed by reference. Полное описание ...
public bool IsClass { get; }
Gets a value indicating whether the System.Type is a class or a delegate; that is, not a value type or interface. Полное описание ...
public bool IsCOMObject { get; }
Gets a value indicating whether the System.Type is a COM object. Полное описание ...
public virtual bool IsConstructedGenericType { get; }
Gets a value that indicates whether this object represents a constructed generic type. You can create instances of a constructed generic type. Полное описание ...
public bool IsContextful { get; }
Gets a value indicating whether the System.Type can be hosted in a context. Полное описание ...
public virtual bool IsEnum { get; }
Gets a value indicating whether the current System.Type represents an enumeration. Полное описание ...
public bool IsExplicitLayout { get; }
Gets a value indicating whether the fields of the current type are laid out at explicitly specified offsets. Полное описание ...
public virtual bool IsGenericParameter { get; }
Gets a value indicating whether the current System.Type represents a type parameter in the definition of a generic type or method. Полное описание ...
public virtual bool IsGenericType { get; }
Gets a value indicating whether the current type is a generic type. Полное описание ...
public virtual bool IsGenericTypeDefinition { get; }
Gets a value indicating whether the current System.Type represents a generic type definition, from which other generic types can be constructed. Полное описание ...
public bool IsImport { get; }
Gets a value indicating whether the System.Type has a System.Runtime.InteropServices.ComImportAttribute attribute applied, indicating that it was imported from a COM type library. Полное описание ...
public bool IsInterface { get; }
Gets a value indicating whether the System.Type is an interface; that is, not a class or a value type. Полное описание ...
public bool IsLayoutSequential { get; }
Gets a value indicating whether the fields of the current type are laid out sequentially, in the order that they were defined or emitted to the metadata. Полное описание ...
public bool IsMarshalByRef { get; }
Gets a value indicating whether the System.Type is marshaled by reference. Полное описание ...
public bool IsNested { get; }
Gets a value indicating whether the current System.Type object represents a type whose definition is nested inside the definition of another type. Полное описание ...
public bool IsNestedAssembly { get; }
Gets a value indicating whether the System.Type is nested and visible only within its own assembly. Полное описание ...
public bool IsNestedFamANDAssem { get; }
Gets a value indicating whether the System.Type is nested and visible only to classes that belong to both its own family and its own assembly. Полное описание ...
public bool IsNestedFamily { get; }
Gets a value indicating whether the System.Type is nested and visible only within its own family. Полное описание ...
public bool IsNestedFamORAssem { get; }
Gets a value indicating whether the System.Type is nested and visible only to classes that belong to either its own family or to its own assembly. Полное описание ...
public bool IsNestedPrivate { get; }
Gets a value indicating whether the System.Type is nested and declared private. Полное описание ...
public bool IsNestedPublic { get; }
Gets a value indicating whether a class is nested and declared public. Полное описание ...
public bool IsNotPublic { get; }
Gets a value indicating whether the System.Type is not declared public. Полное описание ...
public bool IsPointer { get; }
Gets a value indicating whether the System.Type is a pointer. Полное описание ...
public bool IsPrimitive { get; }
Gets a value indicating whether the System.Type is one of the primitive types. Полное описание ...
public bool IsPublic { get; }
Gets a value indicating whether the System.Type is declared public. Полное описание ...
public bool IsSealed { get; }
Gets a value indicating whether the System.Type is declared sealed. Полное описание ...
public virtual bool IsSecurityCritical { get; }
Gets a value that indicates whether the current type is security-critical or security-safe-critical at the current trust level, and therefore can perform critical operations. Полное описание ...
public virtual bool IsSecuritySafeCritical { get; }
Gets a value that indicates whether the current type is security-safe-critical at the current trust level; that is, whether it can perform critical operations and can be accessed by transparent code. Полное описание ...
public virtual bool IsSecurityTransparent { get; }
Gets a value that indicates whether the current type is transparent at the current trust level, and therefore cannot perform critical operations. Полное описание ...
public virtual bool IsSerializable { get; }
Gets a value indicating whether the System.Type is serializable. Полное описание ...
public bool IsSpecialName { get; }
Gets a value indicating whether the type has a name that requires special handling. Полное описание ...
public bool IsUnicodeClass { get; }
Gets a value indicating whether the string format attribute UnicodeClass is selected for the System.Type. Полное описание ...
public bool IsValueType { get; }
Gets a value indicating whether the System.Type is a value type. Полное описание ...
public bool IsVisible { get; }
Gets a value indicating whether the System.Type can be accessed by code outside the assembly. Полное описание ...
public override MemberTypes MemberType { get; }
Gets a System.Reflection.MemberTypes value indicating that this member is a type or a nested type. Полное описание ...
public abstract Module Module { get; }
Gets the module (the DLL) in which the current System.Type is defined. Полное описание ...
public abstract string Namespace { get; }
Gets the namespace of the System.Type. Полное описание ...
public override Type ReflectedType { get; }
Gets the class object that was used to obtain this member. Полное описание ...
public virtual StructLayoutAttribute StructLayoutAttribute { get; }
Gets a System.Runtime.InteropServices.StructLayoutAttribute that describes the layout of the current type. Полное описание ...
public virtual RuntimeTypeHandle TypeHandle { get; }
Gets the handle for the current System.Type. Полное описание ...
public ConstructorInfo TypeInitializer { get; }
Gets the initializer for the type. Полное описание ...
public abstract Type UnderlyingSystemType { get; }
Indicates the type provided by the common language runtime that represents this type. Полное описание ...

Methods
public override bool Equals(object o);
Determines if the underlying system type of the current System.Type is the same as the underlying system type of the specified System.Object. Полное описание ...
public virtual bool Equals(Type o);
Determines if the underlying system type of the current System.Type is the same as the underlying system type of the specified System.Type. Полное описание ...
public virtual Type[] FindInterfaces(TypeFilter filter, object filterCriteria);
Returns an array of System.Type objects representing a filtered list of interfaces implemented or inherited by the current System.Type. Полное описание ...
public virtual MemberInfo[] FindMembers(MemberTypes memberType, BindingFlags bindingAttr, MemberFilter filter, object filterCriteria);
Returns a filtered array of System.Reflection.MemberInfo objects of the specified member type. Полное описание ...
public virtual int GetArrayRank();
Gets the number of dimensions in an array. Полное описание ...
protected abstract TypeAttributes GetAttributeFlagsImpl();
When overridden in a derived class, implements the System.Type.Attributes property and gets a bitmask indicating the attributes associated with the System.Type. Полное описание ...
public ConstructorInfo GetConstructor(Type[] types);
Searches for a public instance constructor whose parameters match the types in the specified array. Полное описание ...
public ConstructorInfo GetConstructor(BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);
Searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints. Полное описание ...
public ConstructorInfo GetConstructor(BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
Searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention. Полное описание ...
protected abstract ConstructorInfo GetConstructorImpl(BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
When overridden in a derived class, searches for a constructor whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention. Полное описание ...
public ConstructorInfo[] GetConstructors();
Returns all the public constructors defined for the current System.Type. Полное описание ...
public abstract ConstructorInfo[] GetConstructors(BindingFlags bindingAttr);
When overridden in a derived class, searches for the constructors defined for the current System.Type, using the specified BindingFlags. Полное описание ...
public virtual MemberInfo[] GetDefaultMembers();
Searches for the members defined for the current System.Type whose System.Reflection.DefaultMemberAttribute is set. Полное описание ...
public abstract Type GetElementType();
When overridden in a derived class, returns the System.Type of the object encompassed or referred to by the current array, pointer or reference type. Полное описание ...
public virtual string GetEnumName(object value);
Returns the name of the constant that has the specified value, for the current enumeration type. Полное описание ...
public virtual string[] GetEnumNames();
Returns the names of the members of the current enumeration type. Полное описание ...
public virtual Type GetEnumUnderlyingType();
Returns the underlying type of the current enumeration type. Полное описание ...
public virtual Array GetEnumValues();
Returns an array of the values of the constants in the current enumeration type. Полное описание ...
public EventInfo GetEvent(string name);
Returns the System.Reflection.EventInfo object representing the specified public event. Полное описание ...
public abstract EventInfo GetEvent(string name, BindingFlags bindingAttr);
When overridden in a derived class, returns the System.Reflection.EventInfo object representing the specified event, using the specified binding constraints. Полное описание ...
public virtual EventInfo[] GetEvents();
Returns all the public events that are declared or inherited by the current System.Type. Полное описание ...
public abstract EventInfo[] GetEvents(BindingFlags bindingAttr);
When overridden in a derived class, searches for events that are declared or inherited by the current System.Type, using the specified binding constraints. Полное описание ...
public FieldInfo GetField(string name);
Searches for the public field with the specified name. Полное описание ...
public abstract FieldInfo GetField(string name, BindingFlags bindingAttr);
Searches for the specified field, using the specified binding constraints. Полное описание ...
public FieldInfo[] GetFields();
Returns all the public fields of the current System.Type. Полное описание ...
public abstract FieldInfo[] GetFields(BindingFlags bindingAttr);
When overridden in a derived class, searches for the fields defined for the current System.Type, using the specified binding constraints. Полное описание ...
public virtual Type[] GetGenericArguments();
Returns an array of System.Type objects that represent the type arguments of a closed generic type or the type parameters of a generic type definition. Полное описание ...
public virtual Type[] GetGenericParameterConstraints();
Returns an array of System.Type objects that represent the constraints on the current generic type parameter. Полное описание ...
public virtual Type GetGenericTypeDefinition();
Returns a System.Type object that represents a generic type definition from which the current generic type can be constructed. Полное описание ...
public override int GetHashCode();
Returns the hash code for this instance. Полное описание ...
public Type GetInterface(string name);
Searches for the interface with the specified name. Полное описание ...
public abstract Type GetInterface(string name, bool ignoreCase);
When overridden in a derived class, searches for the specified interface, specifying whether to do a case-insensitive search for the interface name. Полное описание ...
public virtual InterfaceMapping GetInterfaceMap(Type interfaceType);
Returns an interface mapping for the specified interface type. Полное описание ...
public abstract Type[] GetInterfaces();
When overridden in a derived class, gets all the interfaces implemented or inherited by the current System.Type. Полное описание ...
public MemberInfo[] GetMember(string name);
Searches for the public members with the specified name. Полное описание ...
public virtual MemberInfo[] GetMember(string name, BindingFlags bindingAttr);
Searches for the specified members, using the specified binding constraints. Полное описание ...
public virtual MemberInfo[] GetMember(string name, MemberTypes type, BindingFlags bindingAttr);
Searches for the specified members of the specified member type, using the specified binding constraints. Полное описание ...
public MemberInfo[] GetMembers();
Returns all the public members of the current System.Type. Полное описание ...
public abstract MemberInfo[] GetMembers(BindingFlags bindingAttr);
When overridden in a derived class, searches for the members defined for the current System.Type, using the specified binding constraints. Полное описание ...
public MethodInfo GetMethod(string name);
Searches for the public method with the specified name. Полное описание ...
public MethodInfo GetMethod(string name, BindingFlags bindingAttr);
Searches for the specified method, using the specified binding constraints. Полное описание ...
public MethodInfo GetMethod(string name, Type[] types);
Searches for the specified public method whose parameters match the specified argument types. Полное описание ...
public MethodInfo GetMethod(string name, Type[] types, ParameterModifier[] modifiers);
Searches for the specified public method whose parameters match the specified argument types and modifiers. Полное описание ...
public MethodInfo GetMethod(string name, BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);
Searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints. Полное описание ...
public MethodInfo GetMethod(string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
Searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention. Полное описание ...
protected abstract MethodInfo GetMethodImpl(string name, BindingFlags bindingAttr, Binder binder, CallingConventions callConvention, Type[] types, ParameterModifier[] modifiers);
When overridden in a derived class, searches for the specified method whose parameters match the specified argument types and modifiers, using the specified binding constraints and the specified calling convention. Полное описание ...
public MethodInfo[] GetMethods();
Returns all the public methods of the current System.Type. Полное описание ...
public abstract MethodInfo[] GetMethods(BindingFlags bindingAttr);
When overridden in a derived class, searches for the methods defined for the current System.Type, using the specified binding constraints. Полное описание ...
public Type GetNestedType(string name);
Searches for the public nested type with the specified name. Полное описание ...
public abstract Type GetNestedType(string name, BindingFlags bindingAttr);
When overridden in a derived class, searches for the specified nested type, using the specified binding constraints. Полное описание ...
public Type[] GetNestedTypes();
Returns the public types nested in the current System.Type. Полное описание ...
public abstract Type[] GetNestedTypes(BindingFlags bindingAttr);
When overridden in a derived class, searches for the types nested in the current System.Type, using the specified binding constraints. Полное описание ...
public PropertyInfo[] GetProperties();
Returns all the public properties of the current System.Type. Полное описание ...
public abstract PropertyInfo[] GetProperties(BindingFlags bindingAttr);
When overridden in a derived class, searches for the properties of the current System.Type, using the specified binding constraints. Полное описание ...
public PropertyInfo GetProperty(string name);
Searches for the public property with the specified name. Полное описание ...
public PropertyInfo GetProperty(string name, BindingFlags bindingAttr);
Searches for the specified property, using the specified binding constraints. Полное описание ...
public PropertyInfo GetProperty(string name, Type returnType);
Searches for the public property with the specified name and return type. Полное описание ...
public PropertyInfo GetProperty(string name, Type[] types);
Searches for the specified public property whose parameters match the specified argument types. Полное описание ...
public PropertyInfo GetProperty(string name, Type returnType, Type[] types);
Searches for the specified public property whose parameters match the specified argument types. Полное описание ...
public PropertyInfo GetProperty(string name, Type returnType, Type[] types, ParameterModifier[] modifiers);
Searches for the specified public property whose parameters match the specified argument types and modifiers. Полное описание ...
public PropertyInfo GetProperty(string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers);
Searches for the specified property whose parameters match the specified argument types and modifiers, using the specified binding constraints. Полное описание ...
protected abstract PropertyInfo GetPropertyImpl(string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers);
When overridden in a derived class, searches for the specified property whose parameters match the specified argument types and modifiers, using the specified binding constraints. Полное описание ...
public Type GetType();
Gets the current System.Type. Полное описание ...
public static Type GetType(string typeName);
Gets the System.Type with the specified name, performing a case-sensitive search. Полное описание ...
public static Type GetType(string typeName, bool throwOnError);
Gets the System.Type with the specified name, performing a case-sensitive search and specifying whether to throw an exception if the type is not found. Полное описание ...
public static Type GetType(string typeName, bool throwOnError, bool ignoreCase);
Gets the System.Type with the specified name, specifying whether to throw an exception if the type is not found and whether to perform a case-sensitive search. Полное описание ...
public static Type GetType(string typeName, Func<AssemblyName, Assembly> assemblyResolver, Func<Assembly, string, bool, Type> typeResolver);
Gets the type with the specified name, optionally providing custom methods to resolve the assembly and the type. Полное описание ...
public static Type GetType(string typeName, Func<AssemblyName, Assembly> assemblyResolver, Func<Assembly, string, bool, Type> typeResolver, bool throwOnError);
Gets the type with the specified name, specifying whether to throw an exception if the type is not found, and optionally providing custom methods to resolve the assembly and the type. Полное описание ...
public static Type GetType(string typeName, Func<AssemblyName, Assembly> assemblyResolver, Func<Assembly, string, bool, Type> typeResolver, bool throwOnError, bool ignoreCase);
Gets the type with the specified name, specifying whether to perform a case-sensitive search and whether to throw an exception if the type is not found, and optionally providing custom methods to resolve the assembly and the type. Полное описание ...
public static Type[] GetTypeArray(object[] args);
Gets the types of the objects in the specified array. Полное описание ...
public static TypeCode GetTypeCode(Type type);
Gets the underlying type code of the specified System.Type. Полное описание ...
protected virtual TypeCode GetTypeCodeImpl();
Returns the underlying type code of the specified System.Type. Полное описание ...
public static Type GetTypeFromCLSID(Guid clsid);
Gets the type associated with the specified class identifier (CLSID). Полное описание ...
public static Type GetTypeFromCLSID(Guid clsid, bool throwOnError);
Gets the type associated with the specified class identifier (CLSID), specifying whether to throw an exception if an error occurs while loading the type. Полное описание ...
public static Type GetTypeFromCLSID(Guid clsid, string server);
Gets the type associated with the specified class identifier (CLSID) from the specified server. Полное описание ...
public static Type GetTypeFromCLSID(Guid clsid, string server, bool throwOnError);
Gets the type associated with the specified class identifier (CLSID) from the specified server, specifying whether to throw an exception if an error occurs while loading the type. Полное описание ...
public static Type GetTypeFromHandle(RuntimeTypeHandle handle);
Gets the type referenced by the specified type handle. Полное описание ...
public static Type GetTypeFromProgID(string progID);
Gets the type associated with the specified program identifier (ProgID), returning null if an error is encountered while loading the System.Type. Полное описание ...
public static Type GetTypeFromProgID(string progID, bool throwOnError);
Gets the type associated with the specified program identifier (ProgID), specifying whether to throw an exception if an error occurs while loading the type. Полное описание ...
public static Type GetTypeFromProgID(string progID, string server);
Gets the type associated with the specified program identifier (progID) from the specified server, returning null if an error is encountered while loading the type. Полное описание ...
public static Type GetTypeFromProgID(string progID, string server, bool throwOnError);
Gets the type associated with the specified program identifier (progID) from the specified server, specifying whether to throw an exception if an error occurs while loading the type. Полное описание ...
public static RuntimeTypeHandle GetTypeHandle(object o);
Gets the handle for the System.Type of a specified object. Полное описание ...
protected abstract bool HasElementTypeImpl();
When overridden in a derived class, implements the System.Type.HasElementType property and determines whether the current System.Type encompasses or refers to another type; that is, whether the current System.Type is an array, a pointer, or is passed by reference. Полное описание ...
public object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args);
Invokes the specified member, using the specified binding constraints and matching the specified argument list. Полное описание ...
public object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, CultureInfo culture);
Invokes the specified member, using the specified binding constraints and matching the specified argument list and culture. Полное описание ...
public abstract object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters);
When overridden in a derived class, invokes the specified member, using the specified binding constraints and matching the specified argument list, modifiers and culture. Полное описание ...
protected abstract bool IsArrayImpl();
When overridden in a derived class, implements the System.Type.IsArray property and determines whether the System.Type is an array. Полное описание ...
public virtual bool IsAssignableFrom(Type c);
Determines whether an instance of a specified type can be assigned to the current type instance. Полное описание ...
protected abstract bool IsByRefImpl();
When overridden in a derived class, implements the System.Type.IsByRef property and determines whether the System.Type is passed by reference. Полное описание ...
protected abstract bool IsCOMObjectImpl();
When overridden in a derived class, implements the System.Type.IsCOMObject property and determines whether the System.Type is a COM object. Полное описание ...
protected virtual bool IsContextfulImpl();
Implements the System.Type.IsContextful property and determines whether the System.Type can be hosted in a context. Полное описание ...
public virtual bool IsEnumDefined(object value);
Returns a value that indicates whether the specified value exists in the current enumeration type. Полное описание ...
public virtual bool IsEquivalentTo(Type other);
Determines whether two COM types have the same identity and are eligible for type equivalence. Полное описание ...
public virtual bool IsInstanceOfType(object o);
Determines whether the specified object is an instance of the current System.Type. Полное описание ...
protected virtual bool IsMarshalByRefImpl();
Implements the System.Type.IsMarshalByRef property and determines whether the System.Type is marshaled by reference. Полное описание ...
protected abstract bool IsPointerImpl();
When overridden in a derived class, implements the System.Type.IsPointer property and determines whether the System.Type is a pointer. Полное описание ...
protected abstract bool IsPrimitiveImpl();
When overridden in a derived class, implements the System.Type.IsPrimitive property and determines whether the System.Type is one of the primitive types. Полное описание ...
public virtual bool IsSubclassOf(Type c);
Determines whether the current System.Type derives from the specified System.Type. Полное описание ...
protected virtual bool IsValueTypeImpl();
Implements the System.Type.IsValueType property and determines whether the System.Type is a value type; that is, not a class or an interface. Полное описание ...
public virtual Type MakeArrayType();
Returns a System.Type object representing a one-dimensional array of the current type, with a lower bound of zero. Полное описание ...
public virtual Type MakeArrayType(int rank);
Returns a System.Type object representing an array of the current type, with the specified number of dimensions. Полное описание ...
public virtual Type MakeByRefType();
Returns a System.Type object that represents the current type when passed as a ref parameter (ByRef parameter in Visual Basic). Полное описание ...
public virtual Type MakeGenericType(params Type[] typeArguments);
Substitutes the elements of an array of types for the type parameters of the current generic type definition and returns a System.Type object representing the resulting constructed type. Полное описание ...
public virtual Type MakePointerType();
Returns a System.Type object that represents a pointer to the current type. Полное описание ...
public static Type ReflectionOnlyGetType(string typeName, bool throwIfNotFound, bool ignoreCase);
Gets the System.Type with the specified name, specifying whether to perform a case-sensitive search and whether to throw an exception if the type is not found. The type is loaded for reflection only, not for execution. Полное описание ...
public override string ToString();
Returns a String representing the name of the current Type. Полное описание ...
 
← Previous topic
Оператор nameof в C# (имя класса, имя метода, имя переменной)
 
Next topic →
Создание объекта класса и вызов конструтора с параметрами используя рефлексию (отражение) reflection в C#
 
Your feedback ... Comments ...
   
Your Name
Your comment (www links can only be added by a logged-in user)

Экскурсии по Москве Экскурсии по Москве: пешеходные, автобусные и речные прогулки на любой вкус
  Объявления  
  Объявления  
 
Download and install Microsoft Visual Studio
Скачать и установить Visual Studio 2022 (для изучения C#, написание программ: WPF, ASP.NET, ASP.NET Core, UWP, Miaui, Xamarin, Unity, MonoGame)
Скачать и установить Visual Studio 2019 (для изучения C#, написание программ: WPF, ASP.NET, ASP.NET Core, Xamarin, Unity, MonoGame)
Download and install Visual Studio 2017 (для изучения C#, написание программ: WPF, ASP.NET, ASP.NET Core, Xamarin, Unity, MonoGame)
Новое приложение для изучения C#
Creating a new console application to learn C#
Debugging Code
Debug.Assert(false) Debugging Code in C#
For debugging, option "Common Language Runtime Exceptions" see exceptions when a program is running C#
Атрибут [Obsolete("My method is outdated. Do not use", false)] Warning when compiling code in the C#
Data Types C#
C# data types: number (bool, char, byte, int, long, float, double, decimal), text (string), enumeration (enum), class (class), structure (struct)
Structure Boolean in the C# it is a flag with values true or false (bool) and methods for conversion bool
Structure Int32 in the C# it is a signed integer (int) and methods for conversion int
Structure Single in the C# this is a floating-point number (float) and methods for conversion float
var ... Variable of any type in the C#. Example: var str = "Hello!";
Type dynamic in the C#
Default values in the C#
Storing objects in memory. Removing Objects from Memory
Reference types and value types in the C#
Stack (stack) - memory for method parameters and local variables in the C#
Heap - dynamic memory available at run time in the C#
Interface IDisposable. Write code to properly release unmanaged resources in the destructor and in the interface IDisposable in the C#
Memory. Garbage collector (garbage collector). Automatic memory freeing in the C#
C# type conversion
C# converting a string to a number (string → short, int, long, ushort, uint, ulong, float, double, decimal) | Use Culture (system settings)
C# converting a number to a string (int, double, short, ... → string) with the required accuracy
Text in C# (type string and class String)
Алгоритм пересечения прямоугольников
What is text in the C# ? Type string and class String. Methods for working with text.
Length (string length in C#). Example: string str1 = "Hello"; int v1 = str1.Length;
CompareTo (compares case-sensitive text in C#). Example: bool bIsSame = str1.CompareTo(str2)==0;
ToLower (converts text to lowercase in C#). Example: string str1 = "HELLO World!"; string str2 = str1.ToLower();
ToUpper (converts text to uppercase in C#). Example: string str1 = "Hello World!"; string str2 = str1.ToUpper();
Split (split the string into words in C#). Example: string[] arrWords = strText.Split(' ');
StartsWith (checks the beginning of the text with the specified case-sensitive text in C#). Example: bool bStart = str1.StartsWith(str2);
Contains (checks whether the text specified is case-sensitive or not in case-sensitive C#). Example: bool bFound = str1.Contains(str2);
IndexOf (searches for a case-sensitive string and returns the position in C#). Example: int pos = str1.IndexOf(str2);
Substring (returns part of the text from the specified position and length in the C#). Example: string str1 = "Hello World!"; string str2 = str1.Substring(2, 5);
IsNullOrEmpty (checks the text for blank or for null in the C#). Example: string name = "Hello World!"; bool bFlag = String.IsNullOrEmpty(name);
IsNullOrWhiteSpace (validates text on null or on text with spaces in the C#). Example: string name = "   "; bool bFlag = String.IsNullOrWhiteSpace(name);
[] (returns a character from the specified position in the C#). Example: char symbol = str[1];
Format (text formatting, strings in the C#). Example: string strNew = String.Format("Hello {0}, {1}", name, year);
+ (add lines and text in the C#). Example: string str = str1 + str2 + " people!";
$ (string interpolation in the C#). Example: string result = $"Hello {a} + {b} = {a + b}";
Symbol @ before the beginning of the line in the C#. Example: string str1 = @"aaa";
Используем вместе @ и $ (интерполяцию строк в C#)
DateTime (дата и время) в C#
What is DateTime in C# ? Convert to a string with the format
Enumerations in C # (enum)
What is enumeration? (enum) in the C# ?
How to convert text to enum in C#
How to enumerate all elements in enum in C#
null
null value for simple types. Use ? or Nullable in the C#
Operator ?? (null-union) in the C#
try-catch
Exception handling in C#. Operator try catch finally
Classes in C# (class)
What is a class? in the C#?
Class Access Modifiers in the C#. Access modifiers for methods, properties, fields in the C#
'partial class' in the C#. Description of the class in different files
Constructors for a class
Class Constructor in the C#
Initializing a Class Object (set values for fields) in the C#
To call the constructor at the base class in the C#
Static constructor in class C#
'base' To call a method from the base class. To call a variable from the base class. To call the constructor from the base class. C#
'this' To set or get a value from a class field. To call the constructor from the class. C#
Class Destructors
Class Destructor in the C#
Destructors in classrooms (how basic destructors are called) C#
Inheritance
What is class inheritance in C# ?
Inheritance using new
Use new for the interface method. Inheriting an interface from an interface with the same method
Use new for the class method. Inheriting a class from a class in C#.
Inheritance using sealed
sealed class. Prohibition to inherit in the C#
Inheriting a class from a class in C#. We use words virtual, override, sealed for class methods
Abstract class
What is an abstract class? in the C# ? Abstract methods, properties, indexes.
Inheritance from a class abstract in the C#. Use abstract and override for class methods
Constants and readonly fields in the classroom
Constants in the classroom C#
readonly . For a class field. This field is read-only in C#
Properties get and set in the classroom C# (accessors)
get set Properties in a class C#
Наследование (virtual, override) для аксессоров get и set в C#
Операторы, индексаторы в C#
Операторы в классе C#. Перегрузка операторов: > < ++ + true false
Индексаторы в классе C#
Вложенные типы в C#
Вложенный класс, структура в C#
Параметры в методе класса C#
ref и out (возврат параметров по ссылке в методе) C#. Пример: public void AddValue(ref int value)
Параметры по умолчанию (необязательные параметры) в методе C#. Пример: public int CalculateSum(int a, int b, int c=7)
Именованные параметры C#. Пример: public void CalculateSum(a:7, b:3);
Универсальные методы, универсальные классы в C# (шаблоны)
Метод с универсальными параметрами в C# (шаблоны). Пример: public double Sum<T1, T2>(T1 value1, T2 value2) { ... }
Обобщенный (типизированный) класс в C# (шаблоны). Пример class Book<T> { ... }
where Ограничение типа в обобщенном (типизированном) классе в C# (шаблоны). Пример class Dog<T> where T : Cat
Преобразование объекта класса из одного типа в другой
explicit это явный оператор преобразования в классе C#
implicit это неявный оператор преобразования в классе C#
Преобразование объекта класса из одного типа в другой в C#. Используем try ( ) is as
Преобразование объекта класса из одного типа в другой в C#. Используем pattern matching is switch
Объект класса в C#
? оператор условного null в C#
Объект класса содержит ссылку в C#
Как чтобы при копировании объектов в C# копировались данные класса, а не ссылка?
Статический конструктор и статические свойства и методы
Статический конструктор в классе C#
Статические методы, свойства, члены в классе C#
Дополнительные возможности класса в C#
Метод расширения в C# (this в первом параметре метода). Пример: static public void AddValues(this List<int> myList, int value1, int value2)
Правила именования классов в C#
Какими буквами строчными или заглавными называть классы, методы, свойства ... в C#
Правильно ли для каждого класса в C# создавать свой .cs файл? Или писать классы C# в одном .cs файле?
Статический класс
Статический класс в C#
Анонимный класс
Объект с анонимным (отсутствующим) типом в C#. Пример: var book = new { BookName = "Властелин Колец", Price = 100 };
Interfaces
Что такое interface в C# ?
Наследование interface от interface в C#
Наследование класса от класса от interface в C#. Используем override и virtual для методов класса
Обобщенный (типизированный) интерфейс в C# (шаблоны). Пример interface IUser<T> { ... }
Структура struct
Что такое структура в C#?
Модификаторы доступа структуры в C#. Модификаторы доступа для методов, свойств, полей структуры в C#
Инициализация объекта структуры (установка значений для полей) в C#
Как поменять значение в массиве структур или в коллекции структур (List) в C#
Вложенная структура в C#
Преобразование объекта структуры из одного типа в другой
implicit это неявный оператор преобразования структуры в C#
explicit это явный оператор преобразования структуры в C#
Отложенная загрузка class Lazy в C#
Отложенное создание объекта в памяти (class Lazy в C#)
Кортежи (tuple)
Кортежи (tuple) в C#
Динамические объекты с любыми свойствами
DynamicObject и ExpandoObject в C#
Массивы
Что такое массивы? array в C#
Инициализация массива (заполнение элементов массива array) в C#
params передача любого количества параметров в метод в C#
Класс Array (для работы с массивом) C#
Коллекции
Что такое коллекции в C# ?
Что такое необобщенные коллекции в C# ? Классы ArrayList, Stack, Queue, Hashtable, SortedList, BitArray
Что такое обобщенные (типизированные) коллекции в C# ? Классы List<T>, SortedList<T>, Stack<T>, Dictionary<TKey,TValue>, LinkedList<T>, Queue<T>, HashSet<T>, SortedSet<T>, ConcurrentDictionary<TKey, TValue>, SortedDictionary<TKey, TValue>
Классы необобщенных коллекций (в одной коллекции хранятся элементы разного типа)
Интерфейс IEnumerable. Самый базовый интерфейс для коллекций в C#
Интерфейсы: ICollection, IList, IDictionary. Основа для коллекций в C#
Класс ArrayList (коллекция в C#)
Что такое ArrayList в C# ?
Класс SortedList (коллекция в C#)
Что такое SortedList в C# ?
Класс Stack (коллекция в C#)
Что такое Stack в C# ?
Класс Queue (коллекция в C#)
Что такое Queue в C# ?
Класс Hashtable (коллекция в C#)
Что такое Hashtable в C# ?
Класс BitArray (коллекция в C#)
Что такое BitArray в C# ?
Классы обобщенных, типизированных коллекций в C# (в одной коллекции хранятся элементы одного типа)
Интерфейс IEnumerable<T>. Самый базовый интерфейс для типизированных коллекций в C#
Интерфейсы: ICollection<T>, IList<T>, ISet<T>, IDictionary<TKey, TValue>. Основа для типизированных коллекций в C#
Класс List<T> (типизированная коллекция в C#)
Что такое List<T> в C# ?
Initializing the Collection List in curly brackets in the C#
for, foreach (проходим все элементы в List<T>) в C#
Find (ищем элемент по критерию в List<T>) в C#
FindAll (ищем список элементов по критерию в List<T>) в C#
ForEach (для каждого элемента List<T> выполняется действие) в C#
Класс LinkedList<T> (типизированная коллекция в C#)
Что такое LinkedList<T> в C# ?
Класс SortedList<TKey, TValue> (типизированная коллекция в C#)
Что такое SortedList<TKey, TValue> в C# ?
Класс Stack<T> (типизированная коллекция в C#)
Что такое Stack<T> в C# ?
Класс Queue<T> (типизированная коллекция в C#)
Что такое Queue<T> в C# ?
Класс HashSet<T> (типизированная коллекция в C#)
Что такое HashSet<T> в C# ?
Как устроен HashSet<T> в C#
Класс SortedSet<T> (типизированная коллекция в C#)
Что такое SortedSet<T> в C# ?
Класс ObservableCollection<T> (типизированная коллекция в C#)
Что такое ObservableCollection<T> в C# ?
Класс Dictionary<TKey, TValue> (типизированная коллекция в C#)
Что такое Dictionary<TKey, TValue> в C# ?
Инициализация элементов в конструкторе Dictionary<TKey, TValue> в C#
Как устроен Dictionary<TKey, TValue> в C#
Как в C# сконвертировать IEnumerable в → Dictionary<TKey, TValue> . Используем метод ToDictionary
Класс SortedDictionary<TKey, TValue> (типизированная коллекция в C#)
Что такое SortedDictionary<TKey, TValue> в C# ?
Класс ConcurrentDictionary<TKey, TValue> (типизированная коллекция в C#)
Что такое ConcurrentDictionary<TKey, TValue> в C# ?
AddOrUpdate (добавить или обновить значение по ключу в ConcurrentDictionary<TKey, TValue>) в C#
Асимптотическая сложность для добавления, удаления, взятия элемента в коллекциях
Asymptotic complexity for adding, removing, taking an element in collections C# (List, SortedList, Stack, Dictionary, LinkedList, Queue, HashSet, SortedSet, ConcurrentDictionary, SortedDictionary)
Сортировка элементов в массиве [] и коллекции List
Сортировка элементов в массиве [] и коллекции List<T> в C#. Интерфейс IComparable
Сортировка элементов в массиве [] и коллекции List<T> в C#. Интерфейс IComparer
Моя реализация IEnumerator, IEnumerable и итераторы
Пример: Моя реализация интерфейсов IEnumerable и IEnumerator в C#
Итераторы и yield в C#. Примеры реализации IEnumerable с помощью yield
Методы расширения для IEnumerable (поиск, замена, выборка значений) в C#
Методы поиска, замены, выборки значений в IEnumerable<T>. Методы расширений для IEnumerable<T> в C#
Any (метод расширения IEnumerable<T>) в C#
Select (метод расширения IEnumerable<T>) в C#
GroupBy (extension method IEnumerable<T>) in the C#
GroupJoin (extension method IEnumerable<T>) in the C#
Сортировка, фильтрация в LINQ (Language-Integrated Query)
Что такое LINQ в C# ?
Сортировка, фильтрация элементов списка с помощью LINQ в C#
Книги для изучения LINQ в C#
Указатели
Указатели в C#. Оператор unsafe
Указатели на структуры, поля классов, массивы в C# . Операторы unsafe, stackalloc, fixed
Работа с файлами
Открываем файл, читаем текст из файла и разбиваем по словам. C#
Создаем текстовый файл, пишем текст в файл C#
Создаем HTML файл, пишем табличные данные в HTML файл | C#
Создаем бинарный файл, пишем байты в файл C#
Частичная загрузка файла с FTP в C#
Class Path. Combine method - merges the strings into the full path of the file. And other methods of the Path class | C#
Сериализация
Что такое сериализация объекта в C# ? Атрибут [Serializable]
Сериализация C# объекта в бинарный файл. Класс BinaryFormatter. Атрибут [Serializable]
Сериализация C# объекта в XML файл. Класс XmlSerializer. Атрибут [Serializable]
Сериализация C# объекта в JSON файл. Класс DataContractJsonSerializer. Атрибут [Serializable]
Сериализация C# объекта в SOAP файл. Класс SoapFormatter. Атрибут [Serializable]
Пространства имен
Пространства имен namespace using в C#
Delegate
Делегат (delegate) в C#
Добавление метода(методов) в делегате C#. Объединение делегатов. Удаление метода из делегата
Делегат как параметр в методе C#
Безымянный, анонимный метод в C# (метод описанный на месте параметра, делегата)
Универсальные делегаты
Универсальные, обобщенные делегаты в C# (шаблоны)
Универсальные делегаты Action, Predicate и Func в C#
События
События (event) в C#
Лямда
Лямда (пример) в C#
Регулярные выражения
Регулярные выражения в C#
Разбиваем текст на слова (регулярные выражения в c#)
Ставим * вместо фамилии после первой буквы (регулярные выражения в c#)
Разбиваем текст на слова (регулярные выражения в c#)
Процесс, модули процесса
Процесс в C# (класс Process)
Модули процесса в С# (класс ProcessModule)
Потоки, многопоточность
Потоки в C# (класс Thread)
Пул потоков в C# (Thread Pool)
В чем отличие background (фоновый поток) и foreground (на переднем плане поток) в C# ?
Синхронизация потоков в C#
Parallel Library Task (TPL) Параллельное программирование задач
Parallel Library Task (TPL). Библиотека параллельных задач в C#
Класс Parallel используя метод Invoke параллельно выполненяет методы, циклов for и foreach (на разных ядрах процессора) в C#
PLINQ распараллеливает LINQ запросы для выполнения на разных ядрах процессора в C#
Асинхронные методы (async и await)
class Task в C#
Асинхронное программирование в C# (async, await как оформлять)
Асинхронное программирование в C# (используем async, await и Task на примере)
Асинхронное программирование в C# (теория)
Домены приложений
Что такое Домены приложений в C# ? (класс AppDomain)
Пример "Информация о домене приложения" (имя текущего домена, перечисляем сборки) в C#
Пример "Создаем 2-ой домен приложения. Пишем класс в 1-ом домене и используем во 2-ом домене. MarshalByRefObject в C#
Пример "Загружаем 2-ой домен приложения из файла, запускаем вычисления, выгружаем 2-ой домен из памяти" в C#
Атрибуты
Атрибуты для класса, метода, свойства в C#
Атрибут [Conditional("AAA")] . Для компиляции игнорировать метод или свойство если не определен символ условной компиляции в C#
Attribute [Obsolete("My method is outdated. Do not use", false)] Warning when compiling code in the C#
Атрибут [Display(Name = "Sleep at night")] . Для хранения какого нибудь текста прикрепленного к переменной | C#
Аттрибут [Required(ErrorMessage = "Пожалуйста, введите название")] описывается для свойства в C# классе и требует чтобы свойство было заполнено, если не заполнено на экране ошибка ErrorMessage в ASP.NET MVC
Аттрибут [Remote("IsValidAuthor", "Home", ErrorMessage = "Enter correct author of book")] описывается для свойства в C# классе и проверяет это свойство на правильность на сервере через метод IsValidAuthor в conroller Home, если метод возвращает false, то на экране будет ошибка ErrorMessage в ASP.NET MVC
Рефлексия (отражение) reflection в C#
Оператор nameof в C# (имя класса, имя метода, имя переменной)
Что такое рефлексия (отражение) в C# ? Класс Type
Создание объекта класса и вызов конструтора с параметрами используя рефлексию (отражение) reflection в C#
Как получить информацию атрибута для метода у класса. Используем reflection (отражение)
Как получить информацию атрибута для свойства у класса. Используем reflection (отражение)
Директивы препроцессора (if при компиляции)
Директивы препроцессора #define #undef #if #elif #else #endif в C#
Как определить #define для всех файлов (для всего проекта) в С# ?
Что такое сборка и исполняющая среда CLR ?
Assembly (Assembly) in C#. Compilation. Intermediate code IL (Intermediate Language). Metadata.
Как подключить C# сборку в проект?
Утилита ildasm.exe. Конвертирует сборку (C# exe, dll файл) в промежуточный язык IL (Intermediate Language). Эта утилита удобна для изучения
The runtime CLR (Common Language Runtime) in C# . JIT (Just-In-Time) compiler.
Создание и подключение нашей сборки
Создание нашей C# сборки (обычная сборка)
Подключение нашей C# сборки (обычная сборка)
Создание нашей C# сборки (разделяемая сборка)
Подключение нашей C# сборки (разделяемая сборка)
База данных в консольном приложении C#
Entity Framework в консольном приложении C#. Используем Code First (пишем c# код, а таблицы в базе данных создаются сами)
Read the image from the database and save it to a file | ADO.NET, C#, console application
Внедрение зависимостей (Dependency Injection) DI в C#
Dependency Injection (DI) Внедрение зависимостей в C#
Ninject (IoC-контейнер) управление зависимостями в C#
Autofac (IoC-контейнер) управление зависимостями в C#
Удобные утилиты Visual Studio
Графическая диаграмма классов в C# (View Class Diagram)
exe to C# code
"dotPeek" application for decompile (disassemble) exe to c# source code
В приложении C# вызываем C++ функции
What are managed code (managed code) and unmanaged code (unmanaged code)? | C# and C++
Marshaling (marshalling) in C#. Type Conversion Between Managed Code (managed code) and Unmanaged Code (unmanaged code)
In the application C# we call functions from Windows dll (C++ WinAPI). Attribute [DllImport("user32.dll")]
В приложении C# вызываем функции из моей dll (C++). Атрибут [DllImport("My.dll", CallingConvention = CallingConvention.Cdecl)]
Дополнительные темы, вопросы
Не создается новый проект в Visual Studio 2019. Ошибка "Object reference not set to instance of an object"
Ошибка компиляции C#: error CS1106: Extension method must be defined in a non-generic static class
Ошибка компиляции C#: error CS0246: The type or namespace name 'Point' could not be found (are you missing a using directive or an assembly reference?)
Почему метод Dictionary.TryGetValue не может найти значение по ключу в C# ?
Объектно-ориентированное программирование (ООП). Принципы ООП: абстрагирование, инкапсуляция, наследование, полиморфизм
Какими буквами в C# (заглавными или строчными или прописными) называть поля, методы в классе, интерфейсы, делегаты, параметры ?
Правильно ли для каждого класса в C# создавать свой .cs файл? Или писать классы C# в одном .cs файле?
Что лучше использовать встроенный тип int или класс Integer (тип string или класс String) на C#?
Как скачать и установить нужную .NET Framework версию в Visual Studio ?
Упаковка и распаковка значимых типов в C# (boxing/unboxing)
Error CS8107 Feature 'default literal' is not available in C# 7.0. Please use language version 7.1 or greater
Error "unable to connect to web server "iis express" | C# | Visual Studio 2017
Удаляем и устанавливаем NuGet в Visual Studio
При открытии проекта в Visual Studio 2019 ошибка: "project requires 'SQL Server 2012 Express LocalDB' which is not installed on this computer"
Математические операторы checked и unchecked
Математический оператор unchecked в C#
Математический оператор checked в C#
Дополнительный C# классы
C# класс Random
C# структура Point
C# структура PointF
C# структура Size
C# структура SizeF
C# структура Rectangle
C# структура RectangleF
Время
Время, истекшее с момента загрузки системы (в миллисекундах). System.Environment.TickCount в C#
Шифрование / Cryptography
Зашифруем пароль и проверим | C# console application
Excell
Чтение excel файла на C# (сonsole application)
WWW сайты для изучения C#
Сайты для изучения C#

  Ваши вопросы присылайте по почте: info@dir.by  
Яндекс.Метрика