void CreateDomain(IWorkspace pWorkspace)
{
IWorkspaceDomains pWorkspaceDomains = (IWorkspaceDomains)pWorkspace;
ICodedValueDomain pCodedValueDomain = new CodedValueDomainClass();
pCodedValueDomain.AddCode("RES", "Residential");
pCodedValueDomain.AddCode("COM", "Commercial");
pCodedValueDomain.AddCode("IND", "Industrial");
IDomain pDomain = (IDomain)pCodedValueDomain;
pDomain.Name = "Building Types";
pDomain.FieldType = esriFieldType.esriFieldTypeString;
pDomain.SplitPolicy = esriSplitPolicyType.esriSPTDuplicate;
pDomain.MergePolicy = esriMergePolicyType.esriMPTDefaultValue;
pWorkspaceDomains.AddDomain(pDomain);
}
public void AssignDomainToFieldWithSubtypes(IFeatureClass pFeatureClass)
{
IDataset pDataset = (IDataset)pFeatureClass;
IWorkspace pWorkspace = pDataset.Workspace;
IWorkspaceDomains pWorkspaceDomains = (IWorkspaceDomains)pWorkspace;
IDomain pDistributionDiamDomain =
pWorkspaceDomains.get_DomainByName("DistDiam");
ISubtypes pSubtypes = (ISubtypes)pFeatureClass;
pSubtypes.set_Domain(1, "SIZE_ONE", pDistributionDiamDomain);
}
public void AddPipeSubtypes(IFeatureClass pFeatureClass)
{
ISubtypes pSubtypes = (ISubtypes)pFeatureClass;
pSubtypes.SubtypeFieldName = "PipeType";
pSubtypes.AddSubtype(1, "Primary");
pSubtypes.AddSubtype(2, "Secondary");
pSubtypes.DefaultSubtypeCode = 1;
}