Friday, September 14, 2012

WCF Data Services

What is OData?

OData (known as Open Data Protocal) is a web protocal for querying and updating data. It is used to expose and access information from a variety of sources like relational databases, file systems, web sites etc.
What are WCF Data Services?
WCF Data Services are used to expose and consume data via web services accessed over HTTP.

How do you access WCF Data Services?
WCF Data Services uses the OData protocol for addressing and updating resources. So, these services can be accessed from any client that supports OData. OData enables requesting and writing data to resources using Atom(a set of standards for exchanging and updating data as XML) and JSON(a text-based data exchange format).

Entity Framework

What is Entity Framework?

Entity Framework is an additional layer between application and database that enables the developers to program against the conceptual application model instead of programming directly against the relational storage schema.
Will there be any issues adding a table without primary keys to a data model?
Every entity must have a key, even in the case where the entity maps to a view. When you use the Entity Designer to create or update a model, the classes that are generated inherit from EntityObject, which requires EntityKey. So, we have to have a primary key in the table to add it to the data model.
How do you truncate a table using entity data model?
Unfortunately Entity Framework doesn't include anything straight forward to handle this. But we can still call a T-SQL statement using entity framework that will still minimizes the developers work. We can call ExecuteStoreCommand() methond on ObjectContext as shown below.

using (var context = new MyTestDbEntities())
{
    context.ExecuteStoreCommand("TRUNCATE table Dummy");
}
How do you query in entity model when the result has a join from from different database other than the entity model? E.g.: SELECT t1.c1, t2.c2 FROM table1 AS t1 JOIN table2 t2 ON t1.c1 = t2.c1
As the entity model doesn't support querying from any entity other than the entities defined in Entity Data Model, we have to query aginst the data base using ExecuteStoredQuery of the context.
Following code snippet shows how to query when other databases are joined.

string query = "SELECT t1.c1, t2.c2 FROM table1 AS t1 JOIN table2 t2 ON t1.c1 = t2.c1";
using (var context = new SampleEntities())
{
  ObjectResult records = context.ExecuteStoreQuery(query);
  foreach (DbDataRecord record in records)
  {
    //Do whatever you want
  }
}

Tuesday, September 11, 2012

Overloading in WCF

Using the "Name" we can achieve operational overloading

interface IInterfaceName
{
  [OperationContract (Name = "aliasName1")]
  int MethodName (int param1, int param2);

  [OperationContract (Name = "aliasName2")]
  double MethodName (double param1, double param1);
}


Swap string without temp variable


string a1 = "Prasanth";
string a2 = "Sethupathy";

int aa = a1.Length;

a1 = a2 = a1 + a2;
a2 = a2.Substring(0, aa);

a1 = a1.Substring(aa);

Monday, September 10, 2012

What is the difference between TypeOf() and GetType()?


TypeOf() 
Quote:1: Its an operator
2: Can't be overloaded

GetType()
Quote:1: Its a method
2: Has lot of overloads

WCF – Interview Questions with Answers


What is WCF?
Windows Communication Foundation (WCF) is an SDK for developing and deploying services on Windows. WCF provides a runtime environment for services, enabling you to expose CLR types as services, and to consume other services as CLR types.

WCF is part of .NET 3.0 and requires .NET 2.0, so it can only run on systems that support it. WCF is Microsoft’s unified programming model for building service-oriented applications with managed code. It extends the .NET Framework to enable developers to build secure and reliable transacted Web services that integrate across platforms and interoperate with existing investments.

Windows Communication Foundation combines and extends the capabilities of existing Microsoft distributed systems technologies, including Enterprise Services, System.Messaging, Microsoft .NET Remoting, ASMX, and WSE to deliver a unified development experience across multiple axes, including distance (cross-process, cross-machine, cross-subnet, cross-intranet, cross-Internet), topologies (farms, fire-walled, content-routed, dynamic), hosts (ASP.NET, EXE, Windows Presentation Foundation, Windows Forms, NT Service, COM+), protocols (TCP, HTTP, cross-process, custom), and security models (SAML, Kerberos, X509, username/password, custom).

What is service and client in perspective of data communication?
A service is a unit of functionality exposed to the world. The client of a service is merely the party consuming the service.

What is endpoint in WCF? or What is three major points in WCF?
Every service must have Address that defines where the service resides, Contract that defines what the service does and a Binding that defines how to communicate with the service.

In WCF the relationship between Address, Contract and Binding is called Endpoint. The Endpoint is the fusion of Address, Contract and Binding.

1. Address : Specifies the location of the service which will be like http://Myserver/MyService.Clients will use this location to communicate with our service.

2. Contract : Specifies the interface between client and the server.It’s a simple interface with some attribute.

3. Binding : Specifies how the two paries will communicate in term of transport and encoding and protocols.

What is binding and how many types of bindings are there in WCF?

A binding defines how an endpoint communicates to the world. A binding defines the transport (such as HTTP or TCP) and the encoding being used (such as text or binary).

A binding can contain binding elements that specify details like the security mechanisms used to secure messages, or the message pattern used by an endpoint.

WCF supports nine types of bindings.

1. Basic binding :
Offered by the BasicHttpBinding class, this is designed to expose a WCF service as a legacy ASMX web service, so that old clients can work with new services. When used by the client, this binding enables new WCF clients to work with old ASMX services.

2. TCP binding :

Offered by the NetTcpBinding class, this uses TCP for cross-machine communication on the intranet. It supports a variety of features, including reliability, transactions, and security, and is optimized for WCF-to-WCF communication. As a result, it requires both the client and the service to use WCF.

3. Peer network binding :
Offered by the NetPeerTcpBinding class, this uses peer networking as a transport. The peer network-enabled client and services all subscribe to the same grid and broadcast messages to it.

4. IPC binding :
Offered by the NetNamedPipeBinding class, this uses named pipes as a transport for same-machine communication. It is the most secure binding since it cannot accept calls from outside the machine and it supports a variety of features similar to the TCP binding.

5. Web Service (WS) binding :
Offered by the WSHttpBinding class, this uses HTTP or HTTPS for transport, and is designed to offer a variety of features such as reliability, transactions, and security over the Internet.

6. Federated WS binding :

Offered by the WSFederationHttpBinding class, this is a specialization of the WS binding, offering support for federated security.

7. Duplex WS binding :
Offered by the WSDualHttpBinding class, this is similar to the WS binding except it also supports bidirectional communication from the service to the client.

8. MSMQ binding :

Offered by the NetMsmqBinding class, this uses MSMQ for transport and is designed to offer support for disconnected queued calls.

9. MSMQ integration binding :

Offered by the MsmqIntegrationBinding class, this converts WCF messages to and from MSMQ messages, and is designed to interoperate with legacy MSMQ clients.

What is contracts in WCF?
In WCF, all services expose contracts. The contract is a platform-neutral and standard way of describing what the service does.

WCF defines four types of contracts.
1. Service contracts : Describe which operations the client can perform on the service.

2. Data contracts : Define which data types are passed to and from the service. WCF defines implicit contracts for built-in types such as int and string, but we can easily define explicit opt-in data contracts for custom types.

3. Fault contracts : Define which errors are raised by the service, and how the service handles and propagates errors to its clients.

4. Message contracts : Allow the service to interact directly with messages. Message contracts can be typed or untyped, and are useful in interoperability cases and when there is an existing message format we have to comply with.

What is address in WCF and how many types of transport schemas are there in WCF?
Address is a way of letting client know that where a service is located. In WCF, every service is associated with a unique address. This contains the location of the service and transport schemas.

WCF supports following transport schemas
1. HTTP
2. TCP
3. Peer network
4. IPC (Inter-Process Communication over named pipes)
5. MSMQ

The sample address for above transport schema may look like

http://localhost:81
http://localhost:81/MyService
net.tcp://localhost:82/MyService
net.pipe://localhost/MyPipeService
net.msmq://localhost/private/MyMsMqService
net.msmq://localhost/MyMsMqService

What is the difference WCF and Web services?
1. Web services can only be invoked by HTTP. While Service or a WCF component can be invoked by any protocol and any transport type.

2. Second web services are not flexible. But Services are flexible. If you make a new version of the service then you need to just expose a new end point. So services are agile and which is a very practical approach looking at the current business trends.

How can we host a service on two different protocols on a single server?
Let’s first understand what this question actually means. Let’s say we have made a service and we want to host this service using HTTP as well as TCP.

You must be wondering why to ever host services on two different types of protocol. When we host a service it’s consumed by multiple types of client and it’s very much possible that they have there own protocol of communication. A good service has the capability to downgrade or upgrade its protocol according the client who is consuming him.

Let’s do a small sample in which we will host the ServiceGetCost on TCP and HTTP protocol.

Once we are done the server side coding its time to see make a client by which we can switch between the protocols and see the results. Below is the code snippet of the client side for multi-protocol hosting

How does WCF work?
Follows the ‘software as a service’ model, where all units of functionality are defined as services.

A WCF Service is a program that exposes a collection of Endpoints. Each Endpoint is a portal (connection) for communication with either clients (applications) or other services.

Enables greater design flexibility and extensibility of distributed systems architectures.

A WCF application is represented as a collection of services with multiple entry points for communications.

What are the main components of WCF?
1.Service: The working logic or offering, implemented using any .Net Language©.

2.Host:
 The environment where the service is parked. E.g. exe, process, windows service

3.Endpoints: The way a service is exposed to outside world.

Explain transactions in WCF.
Transactions in WCF allow several components to concurrently participate in an operation. Transactions are a group of operations that are atomic, consistent, isolated and durable. WCF has features that allow distributed transactions. Application config file can be used for setting transaction timeouts.

What are different isolation levels provided in WCF?
The different isolation levels:

1. READ UNCOMMITTED: – An uncommitted transaction can be read. This transaction can be rolled back later.

2. READ COMMITTED :-
 Will not read data of a transaction that has not been committed yet

3. REPEATABLE READ: – Locks placed on all data and another transaction cannot read.

4. SERIALIZABLE:- Does not allow other transactions to insert or update data until the transaction is complete.

How do I serialize entities using WCF?
LINQ to SQL supports serialization as XML via WCF by generating WCF serialization attributes and special serialization specific logic during code-generation. You can turn on this feature in the designer by setting serialization mode to ‘Unidirectional’. Note this is not a general solution for serialization as unidirectional mode may be insufficient for many use cases.

What is End point ?
Every service must have Address that defines where the service resides, Contract that defines what the service does and a Binding that defines how to communicate with the service. In WCF the relationship between Address, Contract and Binding is called Endpoint.

The Endpoint is the fusion of Address, Contract and Binding.

WPF Interview Questions Answers


Q1. What is WPF?
WPF stands for Windows Presentation Foundation. It is an application programming Interface for developing rich UI on Windows. WPF is introduced in .NET 3.0. By the use of WPF we can create two and three dimensional graphics,animations etc.

Q2. What is XAML and how it is related to WPF?
XAML is a new mark up language which is used for defining UI elements and its relationships with other UI elements. The XAML is introduced by WPF in .NET 3.0 WPF uses XAML for UI design.

Q3. Does XAML file compiled or Parsed?

By default XAML files are compiled ,But we do have options to let it be parsed.

Q4. What is the root namespace used for Animations and 3D rendering in WPF?
System.Windows.Media namespace.

Q5. What are the names of main asseblies used by WPF?
a)WindowsBase
b)PresentationCore
c)PresentationFoundation

Q6. What operating systems support WPF?
Following are the operating systems that support WPF
a)Windows7
b)Windows Vista
c)Windows XP Service Pack 2 or later

Q7. Describe the types of documents supported by WPF?
There are two kinds of document supported by WPF
a)Flow format:Flow format document adjusts as per screen size and resolution
b)Fixed Format:Fixed Format document does not adjust as per screen size and resolution

Q8. What namespaces are needed to host a WPF control in Windows form application?
The following namespaces needs to be referenced :
a)PresentationCore.dll
b)PresentationFramework.dll
c)UIAutomationProvider.dll
d)UIAutomationTypes.dll
e)WindowsBase.dll


Q9. What is Dependency Property In WPF?
Windows Presentation Foundation (WPF) has a set of services that is used to extend the functionality of a common language runtime property. These services are referred as the WPF property system. A property that is backed by the WPF property system is known as a dependency property

Q10.What is routed event in WPF?
A WPF user interface is constructed in a layered approach, where one visual element can have zero or more child elements. so we can visualise the elements tree for the full page. Routed events are a new feature provided by WPF which allows events to travel down the elements tree to the target element, or bubble up the elements tree to the root element. When an event is raised, it "travels" up or down the elements tree invoking handlers for that event on any element subscribed to that event it encounters en route.This tree traversal does not cover the entire elements tree, only the ancestral element chain between the root element and the element which is the target of the event.

Write C# method to display second largest and second smallest number in a given array.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication11
{
    class Program
    {
        static void Main(string[] args)
        {

            int temp;
            int[] sort = new int[5];
            Console.WriteLine("enter the number");
            for (int i = 0; i < sort.Length; i++)
                sort[i] = int.Parse(Console.ReadLine());
            for (int i = 0; i < sort.Length; i++)
            {
                for (int j = i + 1; j < sort.Length; j++)
                {
                    if (sort[i] > sort[j])
                    {
                        temp = sort[i];
                        sort[i] = sort[j];
                        sort[j] = temp;
                    }
                }
            }
            Console.WriteLine("the output");
            for (int i = 0; i < sort.Length; i++)
                Console.WriteLine(sort[i]);

            Console.WriteLine("the second smallest number is {0}", sort[1]);
            Console.WriteLine("the second largest number is {0}", sort[3]);
            Console.ReadKey();
        }
    }
}

Write C# method to find number of vowel character in the given sentence

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace vowel_count
{
    class Program
    {
        static void Main(string[] args)
        {
            char[] str = new char[10];
            Console.WriteLine("enter a string(Max 10 char):");
            str = Console.ReadLine().ToCharArray();
            int i = 0;
            int vowels=0;
            for (i = 0; i < str.Length; i++) 
            {
                if (str[i] == 'A' || str[i] == 'E' || str[i] == 'I' || str[i] == 'O' || str[i] == 'U' ||
                    str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u')
                {
                    vowels++;         
                }
            }
                Console.WriteLine("the number of vowels {0}", vowels);
                Console.ReadKey();
            }
        }

}

Write C# method to reverse the input string without using String.Reverse() method

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace reverse_string
{
    class Program
    {
        static void Main(string[] args)
        {

            char[] a = new char[10];
            Console.WriteLine("enter a string(Max 10 char):");
            a = Console.ReadLine().ToCharArray();
            int len, i;
            char temp;
            len = a.Length - 1;
            for (i = 0; i < a.Length / 2; i++)
            {
                temp = a[i];
                a[i] = a[len];
                a[len--] = temp;
            }
            
            Console.WriteLine("the ordered array");
            for(i=0;i
                Console.Write(a[i]);
            Console.ReadKey();
        }
    }
}

Write c# method to swap 2 numbers without using the third/temp variable

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace swap
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 10;
            int b = 30;
            a = a + b;
            b = a - b;
            Console.WriteLine("the value of b:" + b);
            a = a - b;
            Console.WriteLine(a);
        }
    }
}

Write C# method for ATM money disposal, which take integers in multiple of 100’s as a input and print number denomination (1000’s, 500’s and 100’s) in it.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            int x, y, z, c = 0;
            Console.WriteLine("enter the number");
            x = int.Parse(Console.ReadLine());
            {
                y = x / 1000;
                z = (x % 1000) / 500;
                c = ((x % 1000) % 500) / 100;
            }
            Console.WriteLine("the 1000 is {0}", y);
            Console.WriteLine("the 500 is:" + z);
            Console.WriteLine("the 100 is {0}", c);
            Console.ReadKey();
        }
    }
}

ASP.NET Difference FAQs-4


1.Difference between HTTP and HTTPS
S.NoHTTPHTTPS
1URL begins with “http://" in case of HTTPURL begins with “https://” in case of HTTPS.
2HTTP is unsecuredHTTPS is secured.
3HTTP uses port 80 for communicationHTTPS uses port 443 for communication.
4HTTP operates at Application LayerHTTPS operates at Transport Layer.
5No encryption is there in HTTPHTTPS uses encryption.
6No certificates required in HTTP certificates required in HTTPS.
7Most internet forums will probably fall into this category. Because these are open discussion forums, secured access is generally not required 
HTTPS should be used in Banking Websites, Payment Gateway, Shopping Websites, Login Pages, Emails (Gmail offers HTTPS by default in Chrome browser) and Corporate Sector Websites. For example:

PayPal: https://www.paypal.com
Google AdSense: https://www.google.com/adsense/

2.Difference between GET and POST methods
S.NoGETPOST
1Post Mechanism:

GET request is sent via URL.
Post Mechanism:

Post request is sent via HTTP request body or we can say internally.
2Form Default Method:


GET request is the default method. 
Form Default Method:


We have to specify POST method within form tag like
3
Security:

Since GET request is sent via URL, so that we can not use this method for sensitive data.
Security:

Since Post request encapsulated name pair values in HTTP request body, so that we can submit sensitive data through POST method. 
4
Length:

GET request has a limitation on its length. The good practice is never allow more than 255 characters. 
Length:

POST request has no major limitation. 
5
Caching or Bookmarking:

GET request will be better for caching and bookmarking. 
Caching or Bookmarking:

POST request is not better for caching and bookmarking. 
6
SEO:

GET request is SEO friendly. 
SEO:

POST request is not SEO friendly. 
7
Data Type:

GET request always submits data as TEXT. 
Data Type:

POST request has no restriction. 
8
Best Example:

SEARCH is the best example for GET request. 
Best Example:

LOGIN is the best example for POST request. 
9
HTTP Request Message Format:

1 GET /path/file.html?SearchText=Interview_Question HTTP/1.0
2 From: umarali1981@gmail.com
3 User-Agent: HTTPTool/1.0
4 [blank line here]
HTTP Request Message Format:

1 POST /path/script.cgi HTTP/1.0
2 From: umarali1981@gmail.com
3 User-Agent: HTTPTool/1.0
4 Content-Type: application/x-www-form-urlencoded
5 Content-Length: 8
6
7 Code=132
Some comments on the limit on QueryString / GET / URL parameters Length:

1. 255 bytes length is fine, because some older browser may not support more than that.
2. Opera supports ~4050 characters.
3. IE 4.0+ supports exactly 2083 characters.
4. Netscape 3 -> 4.78 support up to 8192 characters.
5. There is no limit on the number of parameters on a URL, but only on the length.
6. The number of characters will be significantly reduced if we have special characters like spaces that need to be URLEncoded (e.g. converted to the '%20').
7. If we are closer to the length limit better use POST method instead of GET method.

3.Difference between User Controls and Master Pages
S.NoUser ControlsMaster Pages
1
Its extension is .ascx.
Its extension is .Master.
2Code file: .ascx.cs or .ascx.vbcode file: .master.cs or .master.vb extension
3A page can have more than one User Controls.Only one master page can be assigned to a web page
4It does not contain Contentplaceholder and this makes it somewhat difficult in providing proper layout and alignment for large designs. It contains ContentPlaceHolder.
5Suitable for small designs(Ex: logout button on every .aspx page.) More suitable for large designs(ex: defining the complete layout of .aspx page) 
6Register Tag is added when we drag and drop a user control onto the .aspx page. MasterPageFile attribute is added in the Page directive of the .aspx page when a Master Page is referenced in .aspx page.
7Can be attached dynamically using LoadControl method.PreInit event is not mandatory in their case for dynamic attachment. Can be referenced using Web.Config file also or dynamically by writing code in PreInit event. 
4.Difference between Build and Rebuild
S.NoBuildRebuild
1A build compiles only the files and projects that have changed.A rebuild rebuilds all projects and files in the solution irrelevant of whether they have changed or not.
2Build does not updates the xml-documentation filesRebuild updates the xml-documentation files
Note: Sometimes,rebuild is necessary to make the build successful. Because, Rebuild cleans Solution to delete any intermediate and output files, leaving only the project and component files, from which new instances of the intermediate and output files can then be built. 

5.Difference between generic handler and http handler
S.NoGeneric HandlerHttp Handler
1Generic handler has a handler which can be accessed by url with .ashx extensionhttp handler is required to be configured in web.config against extension in web.config.It does not have any extension
2Typical example of generic handler are creating thumbnails of imagesFor http handler, page handler which serves .aspx extension request and give response.

OOPs Reasoning FAQs-2

S.NoQuestionsAnswers
1Can you create an instance of a static class ?No, we cannot create an instance of a static class.
2
Are Value types sealed ?

Yes, Value types are sealed.
3Can a static class contain non static members?No, a static class can contain only static members
4Can a struct inherit from another struct or class in C#?No, a struct cannot inherit from another struct or class, and it cannot be the base of a class.
5Can you instantiate a struct without using a new operator in C#?Yes, we can instantiate a struct without using a new operator
6Can a struct have a default constructor (a constructor without parameters) or a destructor in C#?No
7Do structs support inheritance?No, structs do not support inheritance, but they can implement interfaces.
8Can a sealed class be used as a base class?No, sealed class cannot be used as a base class. A compile time error will be generated.
9Can you create an instance of an abstract class?No, abstract classes are incomplete and you cannot create an instance of an abstract class.
10Can destructors have access modifiers?No, destructors cannot have access modifiers.

OOPs Reasoning FAQs-1

S.NoQuestionsAnswers
1Does c# support multiple-inheritance ?No. Multiple inheritance is not possible in .NET. This means it is not possible for one class to inherit from multiple classes. However, a class may implement multiple interfaces. We may also declare objects of different classes in a class. This way, the encapsulated class may be instantiated in other classes.
2Do events have return type ?Events do not have return type.
3Can you override private virtual methods ?No, we cannot access private methods in inherited classes.
4Can you allow class to be inherited, but prevent the method from being over-ridden ?
Yes, just leave the class public and make the method sealed.

5
Can we have shared events ?

Yes, we can have shared event’s note only shared methods can raise shared events.
6
Can you write a class without specifying namespace ? which namespace does it belong to by default ?

Yes, we can, then the class belongs to global namespace which has no name. For commercial products, naturally, we would not want global namespace.
7Can you prevent a class from overriding ?
Yes.If we define a class as “Sealed” in C# and “NotInheritable” in VB.NET we can not
inherit the class any further.
8
Are private class-level variables inherited ?

Yes, but they are not accessible. Although they are not visible or accessible via the class interface, they are inherited.
9
Can you declare the override method static while the original method is non-static?

No, we can't, the signature of the virtual method must remain the same, only the keyword virtual is changed to keyword override.

10
Can a constructors that is declared within a base class, inherited by subclasses ?

No, constructors that are declared within a base class cannot be inherited by sub-classes. If we have not declared any constructor in our class then a default constructor is provided.

Difference between svcutil.exe and wsdl.exe


S.No
SVCUTIL.EXE
WSDL.EXE
1
Svcutil.exe tool is meant to be used with WCF services and it can translate back and forth between metadata and code.
Wsdl.exe tool is meant to be used with ASMX services and generates only proxy code.
2
The default behavior for Svcutil.exe is to generate synchronous methods and it will generate asynchronous methods only if the /async option is used.
The default behavior for Wsdl.exe is to generate both synchronous and asynchronous methods
3
Svcutil.exe tool also supports new features in WCF, such as a policy section in a WSDL file that can be used to describe services security requirements.
Wsdl.exe does not support policy section feature as like Svcutil.exe.
4
Svcutil.exe tool can be used to generate metadata.
Wsdl.exe tool cannot be used to generate metadata.
5
The Svcutil.exe tool can be used only with XML Schema (XSD) files that support data contracts. If data contracts cannot be generated, we must use the Xsd.exe tool to generate XML-based data types from the XSD file.Therefore,it does not support attribute-based schemas.
Wsdl.exe supports attribute-based schemas.

DIFFERENCE BETWEEN STATIC MEMBERS AND NON-STATIC MEMBERS IN ASP.NET



S.No
Static Members
Non-static Members
1
How they are binded ?
These members are binded to the class definition itself.
How they are binded ?
These members are binded to the object defined for the class.
2
When they are loaded ?
These members will be loaded into memory when ever the class has been loaded .
When they are loaded ?
These members will be loaded into memory every time a new object is defined for the class.
3
Where they are referenced ?
These members are referenced with the class name only.
Where they are referenced ?
These members are referenced with object definition only.