System.ComponentModel.DebugTypeDescriptor.ComponentEntry.GetExtenderCollisionSuffix C# (CSharp) Method

GetExtenderCollisionSuffix() private method

private GetExtenderCollisionSuffix ( PropertyDescriptor prop ) : string
prop PropertyDescriptor
return string
            private string GetExtenderCollisionSuffix(PropertyDescriptor prop) {
                string suffix = null;
                
                ExtenderProvidedPropertyAttribute exAttr = (ExtenderProvidedPropertyAttribute)prop.Attributes[typeof(ExtenderProvidedPropertyAttribute)];
                if (exAttr != null) {
                    IExtenderProvider prov = exAttr.Provider;
                    
                    if (prov != null) {
                        string name = null;
                        
                        if (prov is IComponent) {
                            ISite site = ((IComponent)prov).Site;
                            if (site != null) {
                                name = site.Name;
                            }
                        }
                        
                        if (name == null) {
                            name = (collisionIndex++).ToString(CultureInfo.InvariantCulture);
                        }
                        
                        suffix = "_" + name;
                    }
                }
                
                return suffix;
            }