有没有一种方法,派生类只能继承所有基类成员中的一些......在C#中?如果可以进行此类操作,请提供一些示例代码.
在Web应用程序的范围内,将方法的可访问性声明为publicvs是internal什么意思?
Web应用程序通常包含仅在应用程序内部使用的方法。例如,电子商务网站可能包含一种检索用户的订单历史记录的方法。遵循以下原则:
public List<Orders> RetrieveOrders() {
//code goes here
}
Run Code Online (Sandbox Code Playgroud)
如果此方法包含在类库中,则publicand internal访问修饰符的含义非常简单;公共方法可以在库本身之外访问,而内部方法则不能。
Web应用程序在实际应用上有什么区别吗?
编辑:我的问题已被建议与“ 公共”,“私人”,“受保护”和“无”之间有什么区别?。我不要求解释访问修饰符。我要问的是,网站上的方法上的访问修饰符是否有任何意义。
我想做与此处描述完全相同的事情,但在C#中.
public interface IFoo { void DoSomething(); }
public class Foo : IFoo
{
public void DoSomething() {...}
protected void Bar() {...}
}
public class Foo2 : IFoo
{
private readonly Foo _foo;
public Foo2 (Foo foo) { _foo = foo; }
public void DoSomething() {...}
protected void Bar()
{
_foo.Bar(); // cannot access Bar() from here
}
}
Run Code Online (Sandbox Code Playgroud)
我看了几个类似的问题,但没有一个真正告诉你如何解决这个问题.试图用受保护的方法装饰一个类首先做错事吗?
C# 中“受保护”和“私有受保护”访问修饰符有什么区别?有人可以举例说明吗?
提前致谢。
我知道这是一个非常基本的问题,我相信在论坛上已有答案.我甚至不知道如何正确地将它用于搜索,所以这里就是这样.我有一个按钮,其OnClick属性设置为"InsertCard"和相应的代码:
protected void InsertCard (object source, EventArgs e) {
SqlDataSource1.Insert();
}
Run Code Online (Sandbox Code Playgroud)
这完全符合预期.我还想在单击按钮后清除页面上的所有文本框.如果我将OnClick属性更改为"ClearText"并具有相应的代码:
protected void ClearText_Click(object sender, EventArgs e)
{
ClearControls();
}
private void ClearControls()
{
foreach (Control c in Page.Controls)
{
foreach (Control ctrl in c.Controls)
{
if (ctrl is TextBox)
{
((TextBox)ctrl).Text = string.Empty;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这也非常有效.
我的问题是如何将两个动作组合成一个,这样当我单击按钮时,我将数据插入数据库然后清除所有字段?我尝试了很多变化但总是得到某种类型的编译器错误.
另外,是否有某种类型的指南可以帮助我使用正确的语法来提问/搜索答案?
我知道将一个类嵌套在另一个类中并不是一个好习惯,但是以下只是为了好玩.
我有以下代码
namespace PlayIt
{
class Class1
{
class Class2 : Class1
{
}
}
class SomeOtherClass
{
Class1 objClass1 = new Class1();
Class2 objClass2 = new Class2();
}
}
Run Code Online (Sandbox Code Playgroud)
我能够创建class1的对象而不是class2的对象,为什么呢?有没有办法访问class1之外的class2
我有2个班:
public class Access
{
public class Job
{
public int Id { get; set; }
protected string JobName { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
Class2.cs
public class Full: Access.Job
{
}
Full ful = new Full();
Run Code Online (Sandbox Code Playgroud)
为什么我无法访问该ful.JobName会员?
private static field numberOfPlayersInOfflineGame有一个属性.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GameData
{
private static int numberOfPlayersInOfflineGame;
int NumberOfPlayersInOfflineGame
{
get
{
return numberOfPlayersInOfflineGame;
}
set
{
numberOfPlayersInOfflineGame = value;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,我试图从另一个类访问上述字段的值.但是你可以看到我无法访问它.
我正在使用Unity的Visual Studio社区.
我创建了如下所示的ac #test类,我打算测试如果我在范围内外两次创建一个变量会发生什么.但令我惊讶的是,它运行并输出"内部"值.
如果我将此代码片段写入Main()方法,这是多次声明同一个变量的非法方式,编译器错误会相应地发生.但是为什么它可以在一个单独的类中工作?那么我们怎样才能避免犯这样的错误呢?
class Program
{
static void Main(string[] args)
{
Test tst = new Test();
tst.ScopeAlert();
Console.ReadLine();
}
}
public class Test
{
string scope = "outside";
public void ScopeAlert()
{
string scope = "inside";
Console.WriteLine(scope);
}
}
Run Code Online (Sandbox Code Playgroud) 已经有很长一段时间了,因为我已经用C#做了什么,我决定再试一次.基本上我想创建一个类,为它添加一些我可以在类之外引用的变量.
class classname (variablename)
{
function
}
classname (varaiblename = value)
Run Code Online (Sandbox Code Playgroud)
我知道这可能是非常不正确的,但这是我想要做的主旨.
非常感谢您的宝贵时间.
我正在学习基础阶段的xamarin.所有函数调用都由'protected override void'完成.所以任何人都应该帮助它的用途.它与公共空白的区别.
所以前几天我被告知在c#中使用public是不好的,所以说我创建了一个新类,并且在该类中我有一个方法,为什么最好将它声明为
private void nameOfMethod()
Run Code Online (Sandbox Code Playgroud)
而不是
public void nameOfMethod()
Run Code Online (Sandbox Code Playgroud)
我只是好奇,似乎无法在任何地方找到答案,那个告诉我不要使用公共错误的人?任何帮助,将不胜感激
编辑 我理解公共私人和受保护之间的区别完全正常,我只是想知道为什么我被告知最好避免公开
c# ×12
class ×3
asp.net ×2
asp.net-mvc ×1
base-class ×1
inheritance ×1
members ×1
methods ×1
nested-class ×1
unityscript ×1