本文整理汇总了C#中System.Reflection.Emit.CustomAttributeBuilder.string_arg方法的典型用法代码示例。如果您正苦于以下问题:C# CustomAttributeBuilder.string_arg方法的具体用法?C# CustomAttributeBuilder.string_arg怎么用?C# CustomAttributeBuilder.string_arg使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Reflection.Emit.CustomAttributeBuilder
的用法示例。
在下文中一共展示了CustomAttributeBuilder.string_arg方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetCustomAttribute
public void SetCustomAttribute( CustomAttributeBuilder customBuilder)
{
if (customBuilder == null)
throw new ArgumentNullException ("customBuilder");
if (IsCompilerContext) {
string attrname = customBuilder.Ctor.ReflectedType.FullName;
byte [] data;
int pos;
if (attrname == "System.Reflection.AssemblyVersionAttribute") {
version = create_assembly_version (customBuilder.string_arg ());
return;
} else if (attrname == "System.Reflection.AssemblyCultureAttribute") {
culture = GetCultureString (customBuilder.string_arg ());
} else if (attrname == "System.Reflection.AssemblyAlgorithmIdAttribute") {
data = customBuilder.Data;
pos = 2;
algid = (uint) data [pos];
algid |= ((uint) data [pos + 1]) << 8;
algid |= ((uint) data [pos + 2]) << 16;
algid |= ((uint) data [pos + 3]) << 24;
} else if (attrname == "System.Reflection.AssemblyFlagsAttribute") {
data = customBuilder.Data;
pos = 2;
flags |= (uint) data [pos];
flags |= ((uint) data [pos + 1]) << 8;
flags |= ((uint) data [pos + 2]) << 16;
flags |= ((uint) data [pos + 3]) << 24;
// ignore PublicKey flag if assembly is not strongnamed
if (sn == null)
flags &= ~(uint) AssemblyNameFlags.PublicKey;
}
}
if (cattrs != null) {
CustomAttributeBuilder[] new_array = new CustomAttributeBuilder [cattrs.Length + 1];
cattrs.CopyTo (new_array, 0);
new_array [cattrs.Length] = customBuilder;
cattrs = new_array;
} else {
cattrs = new CustomAttributeBuilder [1];
cattrs [0] = customBuilder;
}
}