首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从C#的另一个cs文件中的DragCanvas_类获取两个变量的值有问题吗? project.Is it the DragCanvas错误?

从C#的另一个cs文件中的DragCanvas_类获取两个变量的值有问题吗? project.Is it the DragCanvas错误?

从问题描述来看,无法确定是否存在问题,需要进一步分析。首先,需要确认DragCanvas_类是否正确地定义了两个变量,并且这两个变量是否具有公开的访问权限。其次,需要确定在获取这两个变量的值时是否存在任何错误或异常。

如果DragCanvas_类正确定义了这两个变量,并且这两个变量具有公开的访问权限,那么从另一个cs文件中获取这两个变量的值应该是没有问题的。但是,需要确保在获取这两个变量的值之前,这两个变量已经被正确地初始化或赋值。

如果在获取这两个变量的值时出现了错误或异常,可能是由于以下原因之一:

  1. 变量名拼写错误:请确保变量名的拼写与定义时一致。
  2. 变量访问权限错误:请确保这两个变量具有公开的访问权限,即使用public关键字进行修饰。
  3. 变量未初始化或赋值:请确保在获取这两个变量的值之前,这两个变量已经被正确地初始化或赋值。

如果以上问题都没有出现,但仍然存在获取变量值的问题,可能需要进一步检查代码逻辑或调试程序来确定具体原因。

关于DragCanvas_类的具体信息、变量的定义和使用方式,以及相关的推荐腾讯云产品和产品介绍链接地址,由于问题描述中没有提供相关信息,无法给出具体的答案。建议查阅相关文档或资料,或者提供更多详细信息以便进行进一步分析和解答。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CS8350:不允许使用“Foo(ref x, ref y)”这种参数组合,因为它可能会在其声明范围之外公开由参数 x 引用变量

标题所述是一个 .NET/C# 程序编译错误。这个编译错误是 C#7.2 时就引入,但更新到 Visual Studio 2022(17.4) 后,更多情况会被判定为发生了此错误。...如果单看以上示例看不出这个报错原因的话,我们可以去看看 CS8350 官方报错典型情况。 CS8350 错误典型情况 实际上,在 C# 7.2 刚引入时,这个编译错误就已经存在了。...所以调用 M1 方法另一个方法将获取一个已被出栈方法内局部变量,换句话说,局部引用变量 s2 逃逸到了 M1 方法外部。这在 C# 安全代码块显然是不被允许。...总结一下 CS8350 产生原因: 两个引用变量不同生命周期; 这两个不同生命周期变量以引用方式传给同一个方法。...但是,我们忽略了另一个问题——目前所有变量生命周期都是声明推断出来。仅凭目前语法功能集,C# 无法完全推断所有变量生命周期。

22230

CS8350:不允许使用“Foo(ref x, ref y)”这种参数组合,因为它可能会在其声明范围之外公开由参数 x 引用变量

标题所述是一个 .NET/C# 程序编译错误。这个编译错误是 C#7.2 时就引入,但更新到 Visual Studio 2022(17.4) 后,更多情况会被判定为发生了此错误。...如果单看以上示例看不出这个报错原因的话,我们可以去看看 CS8350 官方报错典型情况。 CS8350 错误典型情况 实际上,在 C# 7.2 刚引入时,这个编译错误就已经存在了。...所以调用 M1 方法另一个方法将获取一个已被出栈方法内局部变量,换句话说,局部引用变量 s2 逃逸到了 M1 方法外部。这在 C# 安全代码块显然是不被允许。...总结一下 CS8350 产生原因: 两个引用变量不同生命周期; 这两个不同生命周期变量以引用方式传给同一个方法。...但是,我们忽略了另一个问题——目前所有变量生命周期都是声明推断出来。仅凭目前语法功能集,C# 无法完全推断所有变量生命周期。

19020
  • C# 面向对象编程解析:优势、和对象、成员详解

    应该提取出应用程序中常见代码,并将其放置在单一位置并重复使用,而不是重复编写。 C# - 什么是和对象? 和对象是面向对象编程两个主要方面。...当创建单个对象时,它们继承自所有变量和方法。 C# 和对象 在C#,一切都与和对象以及它们属性和方法相关。例如,在现实生活,汽车是一个对象。...虽然不是必需,但是当命名时以大写字母开头是一个良好做法。此外,C#文件名称通常与名称匹配,这样使得我们代码更有组织性。但这不是必需(就像在Java中一样)。...您还可以在另一个创建一个对象并访问它。...它被称为访问修饰符,它指定 Car color 变量/字段对其他(例如 Program)也是可访问 C# 成员 在C#字段和方法通常被称为"成员": // The class class

    12610

    Unity3D Editor自定义窗口、自定义组件学习分享

    步骤如下: 1.第一行,利用 Directory 创建一个目录 2.创建一个写入流(StreamWriter) 3.然后把设置好各个参数写入文件 还不了解 C# 文件操作朋友...,添加如下变量: 然后为 HandlesInspector.cs 脚本添加如下代码: 回到场景,此时大伙们会碰到这样问题: 别担心,那是因为你没有设置 nodePoints 属性,所有该函数访问到一个空数组...如下图所示: 创建一个新工程或者用上一篇工程都可以(克森用是原来工程),然后在Scripts文件创建两个C#脚本,分别命名为:“ReadOnlyAttribute.cs”和“Test.cs...Drawers 最终效果 准备工作 创建一个新工程或者用上一篇工程都可以(克森用是原来工程,因为这一篇内容和上一篇内容很类似),然后在Scripts文件创建两个C#脚本,分别命名为:...接下来让我们看看它源码: 源码我们知道,它其实和上一篇PropertyDrawer差不多,都是继承自 GUIDrawer。

    1.8K22

    苏州同程旅游学长给我全面的面试知识库

    反序列化是字节流创建对象反向过程。 12、我们可以在静态方法中使用“ this”命令? 我们不能在静态方法中使用’This’,因为我们只能在静态方法中使用静态变量/方法。...13、常量和只读之间什么区别? 常量变量在编译时声明和初始化。此后无法更改该。只读仅在我们要在运行时分配时使用。 14、什么是接口?...用户控件与ASP包含文件非常相似,并且易于创建。用户控件不能放置在工具箱并从中拖放。他们自己设计和代码背后。用户控件文件扩展名为ascx。 17、 C#密封是什么?...当我们想限制继承时,我们创建密封。密封修饰符,用于防止派生。如果我们强制将密封指定为基,则会发生编译时错误。 18、什么是方法重载?...21、描述可访问性修饰符“受保护内部”。 受保护内部变量/方法可在同一程序集中以及该父派生访问。

    3K20

    c#面试题汇总

    两个对象,一个是“xyx”,一个是指向“xyx”引用对象。 18、类型和引用类型区别? 1.将一个类型变量赋给另一个类型变量时,将复制包含。...3.类型不可能包含 null :然而,可空类型功能允许将 null 赋给类型。 4.每种类型均有一个隐式默认构造函数来初始化该类型默认。  19、C#接口和什么异同。...编程逻辑唯一与用户界面不同文件。该文件称作为“代码隐藏”文件,如果用C#创建,该文件将具有“.ascx.cs”扩展名。 b)项目中所有Web窗体页代码隐藏文件都被编译成.EXE文件。...C#赋值表达式变量被赋值,因此最后一个就输出i赋值后20 while((line=reader.ReadLine())!...84、.Net Framework是专门供C#调用?(传智播客.Net培训班原创模拟题) 答:错。VB.Net等语言都可以调用.Net Framework。CTS、CLS。

    5K20

    ☀️ 学会编程入门必备 C# 最基础知识介绍(六)——接口、命名空间、预处理指令、正则表达式、异常处理、文件输入与输出

    语法 C# 异常 异常处理 创建用户自定义异常 抛出对象 C# 文件输入与输出⛄️ C# I/O FileStream C# 高级文件操作 总结???? 前言????...#endif 指定一个条件指令结束。 #line 它可以让您修改编译器行数以及(可选地)输出错误和警告文件名。 #error 它允许代码指定位置生成一个错误。...异常是在程序执行期间出现问题C# 异常是对程序运行时出现特殊情况一种响应,比如尝试除以零。 异常提供了一种把程序控制权某个部分转移到另一个部分方式。...从根本上说,流是通过通信路径传递字节序列。两个主要流:输入流 和 输出流。输入流用于文件读取数据(读操作),输出流用于向文件写入数据(写操作)。...---- C# I/O System.IO 命名空间各种不同,用于执行各种文件操作,如创建和删除文件、读取或写入文件,关闭文件等。

    1.4K30

    lua实例教程_lua教程网

    Lua处理C#获得数组、字典、结构体等 方式1迭代器遍历以及转化为table后循环 方式2C#调用以及相关注意事项 …待续(持续更新) 参考与引用 Lua配置、安装、与运行 1.进入Lua...Lua是这样处理。 UpVal两种状态: open状态 在这种情况下,其字段v指向是栈,换句话说它外层函数还在活动,因此那些外部局部变量仍然活在栈上。...子函数可以使用父函数局部变量,这种行为叫做闭包。lua函数是一种类型,可以被存放在变量或者数据结构,可以当做参数传递给另一个函数,也可以是一个函数返回,也可以在运行期间被创建。...(); dic2:Add("123",CS.UnityEngine.Vector3.right); --lua创建字典,key是string时,通过括号是获取不到 print(dic2["123..."]);--nil --使用TryGetValue 两个返回 第一个返回为是否获取到 第二个为获取 print(dic2:TryGetValue("123")); --如果要通过健来获取值 通过固定方法

    1.9K20

    C#开发移动应用系列(2.使用WebView搭建WebApp应用)

    然后编写MainActivity.cs文件,在OnCreate()方法获取我们webView并进行基础设置 代码如下: //获取WebView对象 var webView = FindViewById...我们需要使用到WebViewEvaluateJavascript函数 这个函数两个参数,一个是你要调用JS,另一个则是IValueCallback 如图: ?...,来返回我们获取Value,(注:细心朋友肯定发现了,我们还继承了Java.Lang.Object,因为这个接口是Java对象..所以..我们需要继承一下JAVA基..不然会报类型转换错误) 然后我们回到...调用JS代码并获取返回过程 3.通过WebView让页面JS代码调用后台C#代码 下面我们就来讲如何使用JS来调用C#代码....需要项目引用Mono.Android.Export 注意这里项目引用..意思..就是 右键项目-->选择添加引用..而不是只Using 回到我们MainActivity.cs文件OnCreate

    2K100

    C# 7.0简而言之 -- 02. C#基础 (1)

    , 通过完整名可以直接引用: System.Text.StringBuilder 编译 C#编译器把.cs文件编译成组件(assembly)....C#语法 C#语法受到了 C和C++启发 标识符和关键字 标识符就是, 方法, 变量名字, 程序员自己起....string是另一个预定义类型, 表示字符串, 例如 "http://oreilly.com". bool也是预定义类型, 它有两个true, false....例如Console, 整个程序里面只会有一个Console. public 关键字 略... 转换 C# 允许在兼容类型实例间进行转换, 每次转换肯定会当前创造出一个新....下例, 如果Point是而不是struct: [image.png] [p1, p2是指向同一个对象两个引用] Null 一个引用可以被赋值为null, 表示该应用没有指向任何一个对象: [image.png

    1K120

    C#ref和out区别使用

    ref(C# 参考) ref 关键字会导致参数通过引用传递,而不是通过传递。 通过引用传递效果是,对所调用方法参数进行任何更改都反映在调用方法。...如果类型两个成员之间唯一区别在于其中一个具有 ref 参数,而另一个具有 out 参数,则会发生编译错误。 例如,以下代码将不会编译。...对象存储位置按引用参数传递到方法。 如果更改参数存储位置(以指向新对象),你还可以将存储位置更改为调用方所引用位置。 下面的示例将引用类型实例作为 ref 参数传递。...尽管 ref 和 out 关键字会导致不同运行时行为,它们并不被视为编译时方法签名一部分。因此,如果唯一不同是一个方法采用 ref 参数,而另一个方法采用 out 参数,则无法重载这两个方法。...如果希望方法返回多个,可以声明 out 方法。下面的示例使用 out 返回具有单个方法调用三个变量。注意,第三个参数赋 null 。这使得方法可以选择地返回

    1.1K51

    C++程序员转向C#十大陷阱

    除了区分固有类型和用户自定义类型外,C#还区分值类型和引用类型。就象C++里变量一样,类型在栈上保存,除非是嵌在对象类型。...拆箱动作分为两步:首先检查对象实例以确保它是一个将被转换类型装箱对象,如果是,则将该实例拷贝入目标值类型变量。若想成功拆箱,被拆箱对象必须是目标值类型装箱对象引用。...,我在另一篇译文(A Comparative Overview of C#中文版(上篇))里更精彩描述J】 陷阱5.C#结构是大不相同 C++结构几乎和差不多。...尽管你仍可以如此初始化基,但对成员变量初始化将导致一个编译时错误。...我们本意不过是想把这些变量按引用传递到GetTime,在其中改变它们。为了解决这个问题C#提供了out参数修饰符。out修饰符避免了对引用参数也需要初始化需求。

    2.1K10

    C# 基础知识系列- 14 IO篇 IO操作

    前言 继续之前C# IO流,在前几篇小短片中我们大概看了下C# 基础IO也对文件、目录和路径操作了一定了解。这一篇开始,给大家演示一下流各种操作。以文件流为例,一起来看看如何操作吧。...注:之前更新了一篇《Spring Cloud 实战日记》,这是一个新系列,兴趣小伙伴可以账号首页进去看看。 ? 1....,然后将数据写入到另一个文件:”Program_01.cs“。...这时候取消注释,就会发现Program已经复制到了Program.cs.txt里。 3. 常用哪些适配器流 1. BinaryReader 用特定编码将基元数据类型读作二进制 2....其中C#在Encoding添加了几大常用编码格式静态属性,返回是Encoding实例。

    1.6K10

    使用C#也能网页抓取

    在我们例子,我们需要做就是URL获取HTML。...打开Program.cs文件并在输入此函数Program: // Parses the URL and returns HtmlDocument object...06.解析HTML:获取书籍链接 在这部分代码,我们将从网页中提取所需信息。在这个阶段,文档现在是一个类型对象HtmlDocument。这个公开了两个函数来选择元素。...变量linkNodes是一个集合。我们可以写一个foreach循环,并从每个链接一个一个地获取href。我们只需要解决一个小问题——那就是页面上链接是相对链接。...我们还有一个关于如何使用JavaScript编写网络爬虫分步教程 常见问题 Q:C#适合网页抓取? A:与Python类似,C#被广泛用于网页抓取。

    6.4K30

    Redis学习系列二之.Net开发环境搭建及基础数据结构String字符串

    ,然后以用户Id作为键值,然后将用户数据存入Redis.获取时候,只需要通过用户Id去获取,然后将Json反序列化成对应实体....注:Redisstring类型是动态字符串,而且支持修改,这和C#string不一样,内部结构类似于C#List,一个初始大小,如果存入string长度大小大于string初始大小,那么每次都会扩展...这边其它两个终端就不演示了,自行观察. 4、计数器 Redis提供了自增命令,前提操作数据必须是整数,而且自增是范围.默认对应long最大,一般达不到这个....注:这里存在两个问题,如果你把Parallel上限值设置过大,那么短时间内,可能Redis无法处理这么多并发量,而报超时错误,这个时候,解决方案是使用集群方式,解决这个问题,但是这里就不演示了....第二个问题是,如果把Set初始设为Long.MaxValue,那么Redis会报溢出错误,上面的代码已经处理.

    64621

    官宣 .NET 6 RC (Release Candidate) 2

    Record structs和Record之间非对称(不)可变性行为可能会让一些读者感到惊讶,甚至厌恶。我会试着解释设计背后想法。由于通过传递语义,结构从不变性获得好处几乎不如。...WT.mc_id=dev 文件与命名空间声明 文件作用域命名空间声明是C# 10另一个特性,旨在减少缩进和行数。...); 字符串插进行了许多其他改进,在 C# 10 和 .NET 6 字符串插中进行了描述。...你应该能够复制/粘贴代码从一个文件另一个不需要CTRL-.类型以添加所需名称空间(至少没有那么多)。如果您看到可空警告或错误,您就知道您代码可能在某些方面是不正确。去除缩进还有好处。...通过添加一个全局静态using到我项目文件,我Program.csConsole.WriteLine删除了Console,如下所示。

    1.1K10

    C# 8.0 如何在项目中开启可空引用类型支持

    由于现在 C# 8.0 还没有正式发布,所以如果要启用 C# 8.0 语法支持,需要在项目文件设置 LangVersion 属性为 8.0 而不能指定为 latest 等正式版本才能使用。...这五个其实是两个不同维度设置排列组合之后结果: 可为空注释上下文 用于告知编译器是否要识别一个类型引用可为空或者不可为空。...- walterlv C# 8.0 可空引用类型各项警告/错误含义和示例代码 - walterlv 可为空注释(Annotation)上下文 当启动可为空注释上下文后,C# 编译器会将所有的类型引用变量识别为以下种类...在源代码文件开启可空引用类型支持 除了在项目文件全局开启可空引用类型支持,也可以在 C# 源代码文件覆盖全局设定。...现在,这些旧属性已经废弃。 ReSharper 支持 ReSharper 2019.1.1 版本开始支持 C# 8.0,如果使用早期版本,就会到处报错。

    31620

    上位机开发二----第一个程序hallo world

    Form; 方法:前面已经说过,在面向对象编程是没有变量和函数,所有的函数都被封装在,属于对象方法,最基本构造方法,该方法与名同名,在用创建一个具体对象时自动调用,不可缺少,比如...;   这里一个重点,在定义Form1时候含有一个关键字partial,这里就不得不说C#语言设计一个重要特性了,能作为大多数人开发上位机首选,C#一个特性就是设计时候界面与后台分离,但是名相同...可以看到,Form1.cs文件下面包含了另一个Form1.Designer.cs文件,再打开Form1.Designer.cs这个文件,是不是很惊奇,和前面一模一样,再次定义了一个命名空间HelloWorld...也是如此,在Program.cs文件定义了Program,该类拥有主函数main( ), 在main函数,第三行代码是一切开始,调用Form1构造函数,创建一个Form对象,一切由此开始,...,首先是界面的实现,可以随意控件工具箱拖放控件到窗体,这里我拖动两个Button和一个TextBox,并在右边设置框修改每个控价属性,界面如图: ?

    82342

    C#上位机开发(二)—— Hello,World

    Form; 方法:前面已经说过,在面向对象编程是没有变量和函数,所有的函数都被封装在,属于对象方法,最基本构造方法,该方法与名同名,在用创建一个具体对象时自动调用,不可缺少,比如...;   这里一个重点,在定义Form1时候含有一个关键字partial,这里就不得不说C#语言设计一个重要特性了,能作为大多数人开发上位机首选,C#一个特性就是设计时候界面与后台分离,但是名相同...可以看到,Form1.cs文件下面包含了另一个Form1.Designer.cs文件,再打开Form1.Designer.cs这个文件,是不是很惊奇,和前面一模一样,再次定义了一个命名空间HelloWorld...也是如此,在Program.cs文件定义了Program,该类拥有主函数main( ), 在main函数,第三行代码是一切开始,调用Form1构造函数,创建一个Form对象,一切由此开始,...,首先是界面的实现,可以随意控件工具箱拖放控件到窗体,这里我拖动两个Button和一个TextBox,并在右边设置框修改每个控价属性,界面如图: ?

    2K41

    使用Visual Studio Code开发.NET Core看这篇就够了

    重复相同步骤并添加名为“Calculator ”控制台应用程序。请记住项目模板中选择控制台应用程序。 现在我们需要在控制台应用程序添加库项目的引用。...由于解决方案只有两个项目,扩展程序将自动添加另一个项目的引用。如果有两个以上项目,我们需要从列表中选择项目。 ? 导航到库目录MathOperations。...将Class1.cs  文件重命名为MathOperations.cs。...int Add(int num1, int num2) => num1 + num2; } 修改导航到Calculator控制台程序并在Program.cs文件中使用方法。...如果我们将鼠标悬停在该波浪线上,将显示一个信息框,显示测试实际和预期。VS代码底部面板(终端所在面板)“ 问题”选项卡显示相同信息。这可以在下图中看到。 ?

    5.6K00
    领券