19. How does CAS works?
There are two key concepts of CAS security policy- code groups and permissions. A code group contains assemblies in it in a manner that each .NET assembly is related to a particular code group and some permissions are granted to each code group. For example, using the default security policy, a control downloaded from a Web site belongs to the Zone, Internet code group, which adheres to the permissions defined by the named permission set. (Normally, the named permission set represents a very restrictive range of permissions.)
Assembly execution involves the following steps:
- Evidences are gathered about assembly.
- Depending on the gathered evidences, the assembly is assigned to a code group.
- Security rights are allocated to the assembly, depending on the code group.
- Assembly runs as per the rights assigned to it.
20. What is Difference between NameSpace and Assembly?
Following are the differences between namespace and assembly:
- Assembly is physical grouping of logical units, Namespace, logically groups classes.
- Namespace can span multiple assembly.
21. Mention the execution process for managed code.
A piece of managed code is executed as follows:
- Choosing a language compiler
- Compiling the code to MSIL
- Compiling MSIL to native code
- Executing the code.
22. Is there a way to suppress the finalize process inside the garbage collector forcibly in .NET?
Use the GC.SuppressFinalize() method to suppress the finalize process inside the garbage collector forcibly in .NET.
23. How can you instantiate a tuple?
The following are two ways to instantiate a tuple:
- Using the new operator. For example,
Tuple<String, int> t = new Tuple<String, int> (“Hellow”, 2);
- Using the Create factory method available in the Tuple class. For example,
Tuple<int, int, int> t = Tuple.Create<int, int, int> (2, 4, 5);
24. Which is the root namespace for fundamental types in .NET Framework?
System.Object is the root namespace for fundamental types in .NET Framework.