获取元数据模式的元数据字段类型

SDL*_*per 1 tridion tridion-2011

我想获取所有字段以及元数据模式的元数据字段的类型/数据类型.

我已经写了下面的示例代码来实现功能,我可以获取名称,描述等但找不到任何类型/ dataType的属性.如果您有任何想法,请建议......

var client = new SessionAwareCoreService2010Client();

client.ClientCredentials.Windows.ClientCredential.UserName = "myUserName";
client.ClientCredentials.Windows.ClientCredential.Password = "myPassword";
client.Open();

if (client.State == System.ServiceModel.CommunicationState.Opened)
{
    var schemaUri = "tcm:1-47-8";
    var fields= client.ReadSchemaFields(schemaUri, true, new ReadOptions());
    var fieldName =   fields.MetadataFields[0].Name;
}
Run Code Online (Sandbox Code Playgroud)

Pet*_*aer 6

要知道字段的类型,您只需要检查字段的.NET类型.我通常使用"是"检查,但如果需要,您也可以调用GetType.

例如:

var client = new SessionAwareCoreService2010Client();

client.ClientCredentials.Windows.ClientCredential.UserName = "myUserName";
client.ClientCredentials.Windows.ClientCredential.Password = "myPassword";
client.Open();

if (client.State == System.ServiceModel.CommunicationState.Opened)
{
    var schemaUri = "tcm:1-47-8";
    var fields= client.ReadSchemaFields(schemaUri, true, new ReadOptions());
    foreach (var field in fields.MetadataFields)
    {
        if (field is SingleLineTextFieldDefinitionData)
        {
            // Do something specifically for single-line text fields
        }
    }
}
Run Code Online (Sandbox Code Playgroud)