TECHNOLOGIES
FORUMS
JOBS
BOOKS
EVENTS
INTERVIEWS
Live
MORE
LEARN
Training
CAREER
MEMBERS
VIDEOS
NEWS
BLOGS
Sign Up
Login
No unread comment.
View All Comments
No unread message.
View All Messages
No unread notification.
View All Notifications
Answers
Post
An Article
A Blog
A News
A Video
An EBook
An Interview Question
Ask Question
Forums
Monthly Leaders
Forum guidelines
anup daware
NA
31
0
Confusion over Static class and Static method!
Feb 2 2007 3:52 AM
Hi Group, I have a little confusion over the use of static class in C#. I have a static method in my static class. This method reads an xml and returns a collection of objects. This collection of objects can be different for different users. This method uses some non-static variables which are local to this method. Following is my static class: public static class ResponseXmlParser { public static Hashtable GetProductInfoList() { XmlTextReader xmlTextReader; bool isScheduleElement = false; bool isResultItem = false; ProductInfo productInfo= new ProductInfo(); Hashtable productInfoList = new Hashtable(); try { //Create an instance of the XMLTextReader. //MaterialSearchResponse.xml is different for different users. xmlTextReader = new XmlTextReader("MaterialSearchResponse.xml"); // Process the XML file. while (xmlTextReader.Read()) { if(productInfo == null) productInfo = new ProductInfo(); if (xmlTextReader.NodeType == XmlNodeType.Element) { if (xmlTextReader.Name == "CHECK_SCHEDULE_EX") isScheduleElement = true; if (xmlTextReader.Name.Equals("CHECK_ITEM_OUT")) isResultItem = true; if (!isScheduleElement && isResultItem) { switch (xmlTextReader.Name) { case "ITM_NUMBER": if (!xmlTextReader.IsEmptyElement) productInfo.ItemNumber = xmlTextReader.ReadElementContentAsInt(); break; ... ... .. case "REQ_QTY": if (!xmlTextReader.IsEmptyElement) productInfo.RequestedQuantity = xmlTextReader.ReadElementContentAsInt(); if (productInfo != null) productInfoList.Add(productInfo.IPC, productInfo); productInfo = null; break; } } } }//END OF WHILE } catch (XmlException ex){} catch (Exception ex){} finally { if (xmlTextReader!= null) xmlTextReader.Close(); } return productInfoList; } } My doubts are: 1. Does a non-static local variable of static methods works fine in multi-user environment (Web Application) where method is expected to return different results? 2. Is there any other performance a benefit using the static methods except the non-requirement of creation of object of class in which method resides? Thanks, Anup Daware
Reply
Answers (
1
)
Downloading Managed DLLs
Closing the form when the user clicks outside the form