本文整理汇总了C#中IFieldDefinition类的典型用法代码示例。如果您正苦于以下问题:C# IFieldDefinition类的具体用法?C# IFieldDefinition怎么用?C# IFieldDefinition使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IFieldDefinition类属于命名空间,在下文中一共展示了IFieldDefinition类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: FieldIsNotSource
private bool FieldIsNotSource(IFieldDefinition fieldDefinition, IExpression source)
{
var bound = source as BoundExpression;
var field = bound == null? null : bound.Definition as IFieldReference;
bool ret = bound == null || field == null || field.ResolvedField != fieldDefinition;
return ret;
}
示例2: TraverseChildren
public override void TraverseChildren(IFieldDefinition field)
{
if (!MemberHelper.IsVisibleOutsideAssembly(field))
return;
_assembly.EnrollApi(field);
}
示例3: Configure
public override void Configure(IFieldDefinition definition)
{
base.Configure(definition);
var tdefinition = definition as ITaxonFieldDefinition;
var tManager = TaxonomyManager.GetManager();
var tid = tdefinition.TaxonomyId;
var taxonomy = tManager.GetTaxonomies<FlatTaxonomy>().Where(t => t.Id == tid).SingleOrDefault();
if (taxonomy != null)
{
var colorsTaxa = taxonomy.Taxa.OrderBy(c => c.Title.ToString());
this.RenderChoicesAs = Telerik.Sitefinity.Web.UI.Fields.Enums.RenderChoicesAs.DropDown;
// or you can use Telerik.Sitefinity.Web.UI.Fields.Enums.RenderChoicesAs.CheckBoxes for multiple choice
this.Choices.Clear();
foreach (var taxon in colorsTaxa)
{
var choice = new ChoiceItem();
choice.Value = taxon.Id.ToString();
choice.Text = taxon.Title;
choice.Enabled = true;
this.Choices.Add(choice);
}
}
}
开发者ID:sarahmertzatpariveda,项目名称:Telerik.Sitefinity.Samples.Products,代码行数:25,代码来源:TaxonomyDropDownField.cs
示例4: GetHiddenField
/// <summary>
/// Returns the field from the closest base class that is hidden by the given field according to C# rules.
/// </summary>
public static IFieldDefinition GetHiddenField(IFieldDefinition derivedClassField) {
var typeDef = derivedClassField.ContainingTypeDefinition;
foreach (ITypeReference baseClassReference in typeDef.BaseClasses) {
IFieldDefinition hiddenField = GetHiddenField(derivedClassField, baseClassReference.ResolvedType);
if (!(hiddenField is Dummy)) return hiddenField;
}
return Dummy.FieldDefinition;
}
示例5: WriteFieldDefinition
private void WriteFieldDefinition(IFieldDefinition field)
{
if (field.IsSpecialName)
return;
// Do we care about volatile?
WriteAttributes(field.Attributes);
if (!field.IsStatic && field.ContainingTypeDefinition.Layout == LayoutKind.Explicit)
{
WriteFakeAttribute("System.Runtime.InteropServices.FieldOffsetAttribute", field.Offset.ToString());
}
if (!field.ContainingTypeDefinition.IsEnum)
{
WriteVisibility(field.Visibility);
if (field.Type.IsUnsafeType())
WriteKeyword("unsafe");
if (field.IsCompileTimeConstant)
WriteKeyword("const");
else
{
if (field.IsStatic)
WriteKeyword("static");
if (field.IsReadOnly)
WriteKeyword("readonly");
}
if (!field.IsCompileTimeConstant && field.GetHiddenBaseField(_filter) != Dummy.Field)
WriteKeyword("new");
WriteTypeName(field.Type);
WriteIdentifier(field.Name);
if (field.Constant != null && field.IsCompileTimeConstant)
{
WriteSpace();
WriteSymbol("=", true);
WriteMetadataConstant(field.Constant);
}
WriteSymbol(";");
}
else
{
WriteIdentifier(field.Name);
if (field.Constant != null && field.Constant.Value != null)
{
WriteSpace();
WriteSymbol("=", true);
WriteMetadataConstant(field.Constant);
}
WriteSymbol(",");
}
}
示例6: Visit
public override void Visit(IFieldDefinition fieldDefinition)
{
NewLine();
Indent(2);
AppendElementType(fieldDefinition);
base.Visit(fieldDefinition);
output.Append(fieldDefinition.Name.Value);
AppendSpace();
}
示例7: TryGetField
internal override bool TryGetField(IFieldDefinition def, out uint index)
{
TypeFromMetadata type;
if (this.TryGetTypeDefinition(def.ContainingTypeDefinition, out type))
{
FieldHandle handle;
if (type.TryGetField(def.Name, out handle))
{
index = (uint)handle.GetRowNumber();
return true;
}
}
index = 0;
return false;
}
示例8: GetReferenceOfFieldUsedByPeers
/// <summary>
/// Given a field definition in the closure class, get its reference as will be used by the methods in the closure class.
/// </summary>
internal IFieldReference GetReferenceOfFieldUsedByPeers(IFieldDefinition fieldDef) {
IFieldReference fieldReference = null;
ITypeReference typeReference = this.ClosureDefinitionReference;
ISpecializedNestedTypeReference nestedTypeRef = typeReference as ISpecializedNestedTypeReference;
IGenericTypeInstanceReference genericTypeInstanceRef = typeReference as IGenericTypeInstanceReference;
if (nestedTypeRef != null || genericTypeInstanceRef != null) {
fieldReference = new SpecializedFieldReference() {
ContainingType = typeReference,
InternFactory = this.host.InternFactory,
Name = fieldDef.Name,
UnspecializedVersion = fieldDef,
Type = fieldDef.Type
};
} else fieldReference = fieldDef;
return fieldReference;
}
示例9: TraverseChildren
public override void TraverseChildren(IFieldDefinition fieldDefinition) {
if (fieldDefinition.ContainingType.IsEnum && fieldDefinition.IsRuntimeSpecial && fieldDefinition.IsSpecialName)
return; // implicit value field of an enum
if (!this.printCompilerGeneratedMembers &&
AttributeHelper.Contains(fieldDefinition.Attributes, fieldDefinition.Type.PlatformType.SystemRuntimeCompilerServicesCompilerGeneratedAttribute))
return; // eg. a cached anonymous delegate - may have invalid symbols
foreach (var e in fieldDefinition.ContainingTypeDefinition.Events) {
if (e.Name == fieldDefinition.Name)
return; // field is probably the implicit delegate backing the event
}
// Figure out if this is a special fixed buffer field
ICustomAttribute fixedBufferAttr = Utils.FindAttribute(fieldDefinition.Attributes, SpecialAttribute.FixedBuffer);
if (fixedBufferAttr == null)
PrintAttributes(fieldDefinition);
if (fieldDefinition.ContainingTypeDefinition.Layout == LayoutKind.Explicit)
PrintPseudoCustomAttribute(fieldDefinition, "System.Runtime.InteropServices.FieldOffset", fieldDefinition.Offset.ToString(), true, null);
PrintToken(CSharpToken.Indent);
if (fieldDefinition.IsCompileTimeConstant && fieldDefinition.ContainingType.IsEnum) {
PrintFieldDefinitionEnumValue(fieldDefinition);
} else {
PrintFieldDefinitionVisibility(fieldDefinition);
PrintFieldDefinitionModifiers(fieldDefinition);
if (fixedBufferAttr == null) {
PrintFieldDefinitionType(fieldDefinition);
PrintToken(CSharpToken.Space);
PrintFieldDefinitionName(fieldDefinition);
if (fieldDefinition.IsCompileTimeConstant) {
sourceEmitterOutput.Write(" = ");
PrintFieldDefinitionValue(fieldDefinition);
}
} else {
PrintFieldDefinitionFixedBuffer(fieldDefinition, fixedBufferAttr);
}
PrintToken(CSharpToken.Semicolon);
}
}
示例10: PrintFieldDefinitionValue
public virtual void PrintFieldDefinitionValue(IFieldDefinition fieldDefinition) {
Contract.Requires(fieldDefinition != null);
// We've got context here about the field that can be used to provide a better value.
// For enums, the IMetadataConstant is just the primitive value
var fieldType = fieldDefinition.Type.ResolvedType;
if (fieldType.IsEnum) {
PrintEnumValue(fieldType, fieldDefinition.CompileTimeValue.Value);
} else if (TypeHelper.TypesAreEquivalent(fieldDefinition.ContainingTypeDefinition, fieldType.PlatformType.SystemFloat32) &&
fieldType.TypeCode == PrimitiveTypeCode.Float32) {
// Defining System.Single, can't reference the symbolic names, use constant hacks instead
float val = (float)fieldDefinition.CompileTimeValue.Value;
if (float.IsNegativeInfinity(val))
sourceEmitterOutput.Write("-1.0f / 0.0f");
else if (float.IsPositiveInfinity(val))
sourceEmitterOutput.Write("1.0f / 0.0f");
else if (float.IsNaN(val))
sourceEmitterOutput.Write("0.0f / 0.0f");
else
sourceEmitterOutput.Write(val.ToString("R") + "f");
} else if (TypeHelper.TypesAreEquivalent(fieldDefinition.ContainingTypeDefinition, fieldType.PlatformType.SystemFloat64) &&
fieldType.TypeCode == PrimitiveTypeCode.Float64) {
// Defining System.Double, can't reference the symbolic names, use constant hacks instead
double val = (double)fieldDefinition.CompileTimeValue.Value;
if (double.IsNegativeInfinity(val))
sourceEmitterOutput.Write("-1.0 / 0.0");
else if (double.IsPositiveInfinity(val))
sourceEmitterOutput.Write("1.0 / 0.0");
else if (double.IsNaN(val))
sourceEmitterOutput.Write("0.0 / 0.0");
else
sourceEmitterOutput.Write(val.ToString("R"));
} else if (TypeHelper.TypesAreEquivalent(fieldDefinition.ContainingTypeDefinition, fieldType) &&
(fieldType.TypeCode == PrimitiveTypeCode.Int32 || fieldType.TypeCode == PrimitiveTypeCode.UInt32 ||
fieldType.TypeCode == PrimitiveTypeCode.Int64 || fieldType.TypeCode == PrimitiveTypeCode.UInt64)) {
// Defining a core integral system type, can't reference the symbolic names, use constants
sourceEmitterOutput.Write(fieldDefinition.CompileTimeValue.Value.ToString());
} else {
this.Traverse(fieldDefinition.CompileTimeValue);
}
}
示例11: Configure
public override void Configure(IFieldDefinition definition)
{
base.Configure(definition);
var aManager = AgentsManager.GetManager();
var agents = aManager.GetAgents().OrderBy(a => a.Title).Where(a => a.Status == Sitefinity.GenericContent.Model.ContentLifecycleStatus.Live);
if (agents != null)
{
this.RenderChoicesAs = Telerik.Sitefinity.Web.UI.Fields.Enums.RenderChoicesAs.DropDown; //
// or you can use Telerik.Sitefinity.Web.UI.Fields.Enums.RenderChoicesAs.CheckBoxes for multiple choice
this.Choices.Clear();
foreach (var agent in agents)
{
var choice = new ChoiceItem();
choice.Value = agent.Id.ToString();
choice.Text = agent.Title;
choice.Enabled = true;
this.Choices.Add(choice);
}
}
}
示例12: CheckPortableAttributes
private void CheckPortableAttributes(IFieldDefinition fd, IPortable portable)
{
if (fd.GetFactoryId() != portable.GetFactoryId())
{
throw new HazelcastSerializationException(
"Wrong Portable type! Generic portable types are not supported! " + " Expected factory-id: " +
fd.GetFactoryId() + ", Actual factory-id: " + portable.GetFactoryId());
}
if (fd.GetClassId() != portable.GetClassId())
{
throw new HazelcastSerializationException(
"Wrong Portable type! Generic portable types are not supported! " + "Expected class-id: " +
fd.GetClassId() + ", Actual class-id: " + portable.GetClassId());
}
}
示例13: Visit
public override void Visit(IFieldDefinition field)
{
if (IsMemberExternallyVisible2(field))
{
// Recursion
Visit(field.Type);
}
}
示例14: Visit
public void Visit(IFieldDefinition fieldDefinition)
{
this.traverser.Traverse(fieldDefinition);
}
示例15: Visit
public void Visit(IFieldDefinition fieldDefinition)
{
throw new NotImplementedException();
}