![](/img/trans.png)
[英]Why do compiler gives error instead of warning for variable which is assigned but its value is never used
[英]Finding which function was used to assign the variable (Through variable which is assigned)
我有一个函数GetControlRectangle(Rectangle MethodRect) ,它接受控件的矩形。
现在,我编写类似Rectangle的代码rct = dataGridView1.GetCellDisplayRectangle(1,0,false); 查找datagridview1的cell(1,0)的位置。
然后我将此rct传递给GetControlRectangle方法。
现在如何通过MethodRect (方法中的参数)查找哪个函数用来获取此矩形点,例如GetCellDisplayRectangle()或GetColumnDisplayRectangle() 。 因为我想在方法GetControlRectangle()中知道这一点是针对列标题或单元格的 ,所以针对单元格,然后针对哪个单元格。
简而言之,我想知道哪个函数是通过像Rectangle rct = dataGridView1.GetCellDisplayRectangle(1,0,false);这样分配的变量使用的。 通过rct,我想知道使用哪个函数来分配此变量。
如果我理解正确,他应该修改GetControlRectangle(Rectangle MethodRect)
函数,使其看起来像GetControlRectangle(Rectangle MethodRect, bool IsHeader)
,然后由调用代码确定“哪个函数被调用”。
如果我理解正确,则需要将rct转换为getter / setter对。 在设置器中,创建一个新的System.Diagnostics.StackTrace()(只需调用ToString()方法即可获取可读的表示形式)。 它将包含调用堆栈,在这种情况下,它将包含为rct设置新值的函数 。
这样的事情(用更合适的处理方法替换异常):
Rectangle _rct=null;
Rectangle rct {
get { return _rct; }
set {
throw new Exception(new System.Diagnostics.StackTrace().ToString());
//_rct=value;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.