本文整理汇总了C#中Generator.RegisterMethodName方法的典型用法代码示例。如果您正苦于以下问题:C# Generator.RegisterMethodName方法的具体用法?C# Generator.RegisterMethodName怎么用?C# Generator.RegisterMethodName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Generator
的用法示例。
在下文中一共展示了Generator.RegisterMethodName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main2
//.........这里部分代码省略.........
true;
#else
false;
#endif
var nsManager = new NamespaceManager (
#if MONOMAC
buildNewStyle ? null : "MonoMac",
#elif IOS
buildNewStyle ? null : "MonoTouch",
#else
null,
#endif
ns == null ? firstApiDefinitionName : ns,
addSystemDrawingReferences
);
var g = new Generator (nsManager, public_mode, external, debug, types.ToArray (), strong_dictionaries.ToArray ()){
BindThirdPartyLibrary = binding_third_party,
CoreNSObject = CoreObject,
BaseDir = basedir != null ? basedir : tmpdir,
ZeroCopyStrings = zero_copy,
#if MONOMAC
OnlyDesktop = true,
#endif
#if IOS || MONOMAC
Compat = !buildNewStyle,
#else
Compat = false,
#endif
#if !XAMCORE_2_0
Alpha = alpha,
#endif
InlineSelectors = inline_selectors,
SkipSystemDrawing = addSystemDrawingReferences
};
#if IOS || MONOMAC
if (!buildNewStyle && !binding_third_party) {
foreach (var mi in baselib.GetType (nsManager.CoreObjCRuntime + ".Messaging").GetMethods ()){
if (mi.Name.IndexOf ("_objc_msgSend") != -1)
g.RegisterMethodName (mi.Name);
}
}
#endif
g.Go ();
if (generate_file_list != null){
using (var f = File.CreateText (generate_file_list)){
foreach (var x in g.GeneratedFiles)
f.WriteLine (x);
}
return 0;
}
cargs.Clear ();
if (unsafef)
cargs.Append ("-unsafe ");
cargs.Append ("-target:library ");
cargs.Append ("-out:").Append (Quote (outfile)).Append (' ');
foreach (var def in defines)
cargs.Append ("-define:").Append (def).Append (' ');
foreach (var gf in g.GeneratedFiles)
cargs.Append (gf).Append (' ');
foreach (var cs in core_sources)
cargs.Append (cs).Append (' ');
foreach (var es in extra_sources)
cargs.Append (es).Append (' ');
cargs.Append (refs).Append (' ');
cargs.Append ("-r:").Append (Quote (baselibdll)).Append (' ');
foreach (var res in resources)
cargs.Append (res).Append (' ');
if (nostdlib)
cargs.Append ("-nostdlib ");
if (!string.IsNullOrEmpty (Path.GetDirectoryName (baselibdll)))
cargs.Append ("-lib:").Append (Path.GetDirectoryName (baselibdll)).Append (' ');
si = new ProcessStartInfo (compiler, cargs.ToString ()) {
UseShellExecute = false,
};
// HACK: We are calling btouch with forced 2.1 path but we need working mono for compiler
si.EnvironmentVariables.Remove ("MONO_PATH");
if (verbose)
Console.WriteLine ("{0} {1}", si.FileName, si.Arguments);
p = Process.Start (si);
p.WaitForExit ();
if (p.ExitCode != 0){
Console.WriteLine ("{0}: API binding contains errors.", tool_name);
return 1;
}
} finally {
if (delete_temp)
Directory.Delete (tmpdir, true);
}
return 0;
}