草庐IT

keyword_do_block

全部标签

c# - itextsharp 测量 block 宽度/高度

我正在尝试与iTextSharp进行一些精确对齐,但我总是做不到,因为我想不出一种方法来获取block或段落的宽度/高度值。如果我创建一个具有特定字体、大小和文本的段落,那么它的尺寸应该是已知的,对吗?我知道默认的左/右/居中对齐方式对我来说最有用,但在某些情况下,知道尺寸最有用。有什么想法吗? 最佳答案 您可以使用GetWidthPoint()获取block的宽度,block的高度通常是字体的大小,除非您只使用小写字母。如果是这样,那么您可以使用BaseFont.GetCharBBox()手动测量字符。但是,段落是可流动的项目,它

c# - 以编程方式在文本之间制作带有超链接的文本 block

在XAML中,我有以下代码:clickhereplease现在我想摆脱整个TextBlockXAML并以编程方式添加该位。我可以毫不费力地创建TextBlock,将Text属性设置为“请单击”并将超链接添加到TextBlock.Content。但是如何将超链接定位在“点击”和“请”之间?以及如何将超链接的文本设置为“此处”?我没有太多进展,到目前为止我得到的是:label2.Content=newTextBlock(){Text="clickplease"};//(label2.ContentasTextBlock).Contentdoesnotexist?//andevenifitd

c# - 自定义 "using" block

我正在使用一个数据库,并且有一种情况我想关闭其中的一个特性。关闭该功能看起来像这样......DatabaseContext.Advanced.UseOptimisticConcurrency=false;开启它同样简单。这功能很好。但我对某些东西很好奇,想探索它......是否可以像处理dispose和unsafe那样将其包装在“using”block中?例如……using(DatabaseContext.Advanced.UseOptimisticConcurrency=false){//dothings!}//thefeatureisturnedbackonautomatical

c# - Asp.Net 路由 : How do I ignore multiple wildcard routes?

我想忽略多个通配符路由。在asp.netmvcpreview4中,它们附带:RouteTable.Routes.IgnoreRoute("{resource}.axd/{*pathInfo}");我还想添加如下内容:RouteTable.Routes.IgnoreRoute("Content/{*pathInfo}");但这似乎破坏了一些在我的程序中生成url的助手。想法? 最佳答案 这里有两种可能的解决方案。向忽略路由添加约束以确保只有应忽略的请求才会匹配该路由。有点笨拙,但应该可以。RouteTable.Routes.Ignor

c# - Visual Studio 代码分析规则 - "Do not expose generic lists"

Donotexposegenericlists如果我所有的方法都需要公开一个集合,那么我需要使用LinqExtension.ToList(),几乎所有我需要使用列表的地方,或者我所有代码中的用户集合。如果是这样的话,.ToList()是在忽略规则吧?或者是否有一种技术,例如复制列表o来解决违规问题并仍然返回列表? 最佳答案 我禁用了该规则,因为我觉得它无效。如果你想返回一个包含O(1)的集合count并且不是对内部字段的直接引用,List是最好的选择。我不太了解您的情况,但听起来您有一种方法可以返回对某些内部数据的LINQ查询。如果

c# - C# 中匿名未附加 block 的值是什么?

在C#中,您可以在不附加到任何其他语句的方法内部创建一个block。publicvoidTestMethod(){{stringx="test";stringy=x;{intz=42;intzz=z;}}}这段代码编译和运行就像main方法中的大括号不存在一样。还要注意block内的block。是否存在这会有值(value)的场景?我还没有找到任何东西,但很想听听其他人的发现。 最佳答案 范围和垃圾收集:当您离开未附加的block时,其中声明的任何变量都会超出范围。这让垃圾收集器可以清理这些对象。RayHayes指出.NET垃圾收集

c# - .net 异常捕获 block

以下catchblock之间有什么区别?try{...}catch{...}和try{...}catch(Exception){...}我意识到,在任何一种情况下,异常实例都不可用,但有什么我可以用一个实例做而另一个实例做不到的事情吗? 最佳答案 它们几乎相同。来自C#语言规范,第8.10节:SomeprogramminglanguagesmaysupportexceptionsthatarenotrepresentableasanobjectderivedfromSystem.Exception,althoughsuchexcep

c# - 变量 : a Type or a keyword

MSDN将var归类到Types下。variablesthataredeclaredatmethodscopecanhaveanimplicittypevar“隐式类型var”在这种情况下是什么意思?严格来说,如果我有它可以向其他程序员解释。我能说吗?var是一个类型,或者我必须说;var是一个关键字,指示编译器自行确定类型。注意:这并不是要开始讨论var,也不是要学习var的使用。一劳永逸,我想确切地知道如何描述它,而msdn有点令人困惑,仅此而已。 最佳答案 var是contextualkeyword-连同yield,add和g

c# - 锁 block 内的异常

比如说,如果我在C#代码上有以下block:publicclassSynchedClass{publicvoidaddData(objectv){lock(lockObject){//ShallIworryaboutcatchinganexceptionhere?//Dothework//arr.Add(v);}}privateListarr=newList();privateobjectlockObject=newobject();}我应该trycatchlockblock内的异常吗?(我主要担心的是锁内部可能会引发异常,这将阻止锁被“解锁”。) 最佳答案

c# - C++/命令行界面 : How do I declare abstract (in C#) class and method in C++/CLI?

以下C#代码在C++/CLI中的等价物是什么?publicabstractclassSomeClass{publicabstractStringSomeMethod();} 最佳答案 只需稍微混合关键字即可获得正确的语法。abstract在C#中位于前面,但在C++/CLI中位于末尾。与override关键字相同,今天也被C++11兼容的编译器识别,它们期望它位于函数声明的末尾。就像传统C++中的=0标记函数抽象一样:publicrefclassSomeClassabstract{public:virtualString^SomeM