हां, यह कानूनी है (लेकिन शीर्षक में सवाल नहीं है, विवरण के लिए नीचे देखें)।
हालांकि, यह जाँच करने के लिए कैश में प्रकार क्या आप इस तरह के रूप के बजाय उम्मीद कर रहे हैं इस चेक दो बार क्या करने वाले, है कि बुद्धिमान हो सकता है:
//in English, the following line of code might read:
// if the item known in the cache by the specified key is in
// in fact of type MyExpectedReferenceType, then give me it
// as such otherwise, give me a null reference instead...
var myCachedInstance = Cache[key] as MyExpectedReferenceType;
if (myCachedInstance == null)
{
//we retrieved a reference to an instance of an MyExpectedReferenceType
}
else
{
//oh, no - we didn't!
}
पर फिर से पढ़ने हालांकि अपने प्रश्न , और आपके प्रोग्राम के बारे में सोचने से ठीक से काम नहीं कर रहा है, मुझे यह कहने का लुत्फ है कि आपके पास इससे अधिक समस्याएं हैं; कैसे आपका प्रोग्राम सही ढंग से काम नहीं कर रहा है? Cache
उदाहरण स्वयं ही null
तक पहुंच योग्य नहीं होगा - यह Page
का केवल-पढ़ने वाला फ़ील्ड है। हालांकि, आपके अपेक्षित कैश किए गए मान null
हो सकते हैं और यदि यह समस्या है, तो आपको NullReferenceException
प्राप्त करना चाहिए - क्या यह मामला है?
अद्यतन:
अपनी टिप्पणी से निपटने के लिए टिप्पणियाँ मैं कोड को जोड़ा की जाँच करें।
स्रोत
2011-04-06 08:42:02
क्षमा करें, "कैश [कुंजी] MyExpectedReferenceType के रूप में" क्या करता है? – locoboy
@ cfarm54: मेरा अपडेट देखें। –
हाहा, यह वास्तव में बहुत आसान है कि मुझे लगता है कि आप सोच रहे हैं। मैं बस इतना करने की कोशिश कर रहा हूं कि कैश मौजूद है या नहीं और यदि यह अस्तित्व में है तो इसका उपयोग करें ... – locoboy