internal string GetResourceString(string key, CultureInfo culture) { if (key == null || key.Length == 0) { return "[Resource lookup failed - null or empty resource name]"; } Environment.ResourceHelper.GetResourceStringUserData getResourceStringUserData = new Environment.ResourceHelper.GetResourceStringUserData(this, key, culture); RuntimeHelpers.TryCode code = new RuntimeHelpers.TryCode(this.GetResourceStringCode); RuntimeHelpers.CleanupCode backoutCode = new RuntimeHelpers.CleanupCode(this.GetResourceStringBackoutCode); RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(code, backoutCode, getResourceStringUserData); return getResourceStringUserData.m_retVal; }